限制舞台上的动画片段移动

时间:2014-01-07 10:34:24

标签: actionscript-3 flash

所以我有一个可以用键盘上的箭头键控制的动画片段,但我只希望用户只能控制到舞台的中间(它是一个潜水艇,我的舞台的一半在水),我该怎么做呢。

2 个答案:

答案 0 :(得分:0)

您可以使用条件语句轻松地检查它与舞台中间的x / y值。使用if语句,您可以检查submarine.x(您的movieclip)是否等于stage.stageWidth / 2(舞台的动态宽度减半)。为了阻止它,减去潜艇的速度。

代码如下:

if(submarine.x == stage.stageWidth/2){
submarine.x -= submarineSpeed;
}

submarineSpeed是你的潜艇正在移动的速度。

如果您按住右键(例如)并且您的潜水艇每帧向右移动5个像素,但如果它到达舞台中间,则每个帧将减去5个像素。由于它向右和向左移动5帧,因此它不会移动。

答案 1 :(得分:0)

我会通过建立上限和下限变量(minYmaxY)来做到这一点,然后当你在keypress事件监听器中移动MovieClip时,检查当前{{1}超过任何限制。如果已超出限制,请将y设置回最近的那个。

根据潜艇MC的注册点,您可能需要使用稍微不同的限制 - 例如,如果注册点位于图像的顶部,y将是您的舞台高度减去高度MovieClip。您还需要将maxY更改为您自己的变量名称。

submarineMC