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