主题:  RPG游戏问题

vbyzc

职务:普通成员
等级:1
金币:0.0
发贴:34
#12003/6/5 10:21:00
游戏中,
比如有一块石头,是不能走的。。
我是这么做的
在人物MC中写道:
onClipEvent(enterFrame){
if (key.isDown(65){
if (this.hittest(_root.stone)){
//没事发生
}else{ //如果没发生碰撞事件,那么移动。
this._x=this._x+4
}
}

这样太麻烦了。
看了一本”书深入FLASH编程“
正是此论坛的dawn和画魔等编著的。
里面的那个魔女的RPG游戏提到不能走的地方。
建一个组数,不能走的用“block"标志。
讲得天荒地老。。。
俺还不明白。。



有哪位伙计能给俺弄个简单的动画(源文件)FLASH5的
三个MC 一个是可以控制的,。另两个是不可移动的。。



编辑历史:[这消息被vbyzc编辑过(编辑时间2003-06-05 10:23:15)]


Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#22003/6/5 10:30:13
……
好久的东西了,实际上也有很多的不足
block大可换成1

如果不用数组,你需要重写类似hitest的类,可以叫做collision,并具有overlap,collide等方法也可以实现

不过你的方法如果按照实际用数组坐标来判断反而让你说的话会更麻烦,需要一个坐标映射的过程
rx=x*nx
ry=y*ny

所以如果你想深入学习,可以把数组地图作为切点,但如果你只是想随便做做,hittest就很方便。


D:)S



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#32003/6/5 10:36:25
可以把判断写在石头上



vbyzc

职务:普通成员
等级:1
金币:0.0
发贴:34
#42003/6/6 9:27:23
那只好写在物体上了。。。


只是觉得画魔的那种方法蛮有趣的。。
我用的是FLASH5



临天

职务:普通成员
等级:1
金币:1.0
发贴:184
#52003/6/6 23:42:42
http://www.chinabyte.com/20020816/1625586.shtml

老是老了点,还是有些实用价值