0

我是 ActionScript 3.0 的新手,所以如果你们能帮我一点忙。

我想制造一个阻碍玩家前进的障碍物。我做了这样的事情,我将所有动作保存到数组中,而不是如果它们发生碰撞,它会将玩家移动到先前的位置。还有其他方法吗,因为我认为这不是正确的方法。有时当它发生碰撞时,玩家无法移动。你可以给我一个例子吗 :)

谢谢

4

1 回答 1

1

这是您可以检测到碰撞的唯一方法,但以更精细的方式。

  • 您实际上会碰撞物体(但尚未将更改应用于实际对象)。

  • 检查舞台上的所有碰撞体。

  • 采取必要的步骤(回滚,摧毁..任何东西)

  • 在屏幕上应用更改并渲染身体。

考虑以上作为 flash 的示例:

var hero:Sprite = new Sprite();

addChild(hero);

while(1) {

   var newX = hero.x + 1; 

   if(newX < 100) 

       hero.x = newX;            
}

每个游戏都应该有一个循环。循环必须分支到各种情况。这就是你的开始。

英雄对象可能会随着用户交互而移动,并且检查会不断增加,随着项目变得越来越密集,迫使您重新考虑解决方案......

于 2012-12-26T11:10:44.403 回答