Flash游戏制作中的激光干涉检查
在下一篇文章中的街机游戏中的教程。在本教程中,您已经了解了三角检测鼠标角度,你是枪类似的杀星武器制造101后。现在,我们要来看看你的游戏检查是否已经达到的激光电影的船舶对象。
移动你的鼠标周围的黑色窗口,下面来看看激光检查行动:
激光探测代码
这是所有新的代码用于检测激光打用户的船舶:它生活在自己的框架里面的“LASER SHOT”对象。
注释:----------------------------------------------
评论:我碰到了什么东西吗?
注释:----------------------------------------------
点评:简单的碰撞检测:是由船的大小定义的矩形里面的激光头?
评论:注意:shipx和shipy的中心点的船舶。如果你的船的
中心点(小的“加号”中存在的每一个影片剪辑)
在船中央,计算将无法正常工作!
至此,我们可以了解用户的船舶:
设置变量:“shipx”的getProperty(“。/船”,_x)
设置变量:“shipy”的getProperty(“。/船”,_y)
设置变量:“shipwidth”的getProperty(“。/船”,_width)
设置变量:“shipheight”的getProperty(“。/船”,_height)
设置变量:“shiptop”= shipy(/ 2 shipheight)
设置变量:shipbottom“= shipy +(shipheight / 2)
设置变量:“shipleft”= shipx(shipwidth / 2)
设置变量个:“shipright”= shipx +(shipwidth / 2)
评论:注:我去杀鸡用牛刀的变量定义 - 你可能会在你的错误检查,能够减少量的定义。我只是这样做是为了使本教程很明显。
激光检测代码(续)
OK,很简单,对不对?我们可以发现船的左侧,右侧,顶部和底部使用一些简单的代数确切的数字。使用它们,我们可以看到,如果激光射的(的x / y)的值是该领域内。
注:这是指对象的中心点。加号。你会发现对激光的中心点是不是在它的中间,但在前面的边缘。因此这个代码检查,如果该激光器的前边缘是该船舶的内部边界。 (注:游戏枪旋转的激光射击,使“+”号前往第一),你可以很容易忽略这些更精细的细节和激光探测,没有明显的差异。我只是想是准确的。
注释:----------------------------------------------
评论:现在,如果我们打什么
注释:----------------------------------------------
如果(my_x>(shipleft)和my_x <(shipright))和(my_y>(shiptop)和my_y <(shipbottom)
(责任编辑:卓想空间http://www.zxgzs.com)