我可以在其他符号中使用的符号中添加碰撞检测吗?

时间:2014-03-17 07:12:01

标签: actionscript-3 flash collision-detection flashdevelop

我正在尝试使用Adobe Flash CS6,Actionscript 3.0和FlashDevelop制作二维平台游戏,并且我一直陷入困境,似乎永远想知道如何添加碰撞检测我的播放器和墙壁。
我有一个Level1符号,它由多个Surface符号组成(它只是一个灰色矩形),并且想知道是否有一种方法可以在Surface符号中添加碰撞检测,并在我的Level1符号中更新它的所有出现而不是单独为我的Level1符号中的每个Surface符号添加碰撞事件 我有一种感觉,我说错了。

1 个答案:

答案 0 :(得分:0)

不,没关系。你没有想错什么。

您可以向Level1实例添加一个ENTER_FRAME事件侦听器,然后您可以控制自身的冲突事件。 (我也用我的游戏使用类似的方式)

您只需要在Level1符号中使用矩形数组。创建一个包含矩形列表的数组变量。

private var rectanglesList:Array = new Array();

然后在矩形添加到舞台时将矩形推入该数组。

碰撞检查也很容易.. 您可以对每个"使用"检查Level1" enter_frame"中的碰撞这样的功能

for each (var r:Rectangle in this.rectanglesList)
{
 if (r collides with player)
 {
  //what you wanna do
 }
}