2014-01-07 49 views

回答

0

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

的代码将是:

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

submarineSpeed是你的潜艇的方式移动的速度。

如果你按住右键(例如),并且你的潜艇每帧向右移动5个像素,但是如果它碰到舞台的中间位置,每帧会减去5个像素。由于它向右和向左移动5帧,所以它不移动。

0

我将通过建立上限和下限变量(minYmaxY)当你来到移动MovieClip的按键事件监听器里,检查当前y是否超过或者限制做到这一点,那么。如果超出限制,则将y设置回最近的一个。

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

var minY:Number = 300; //Set to half the height of your stage 
var maxY:Number = 600; //Set to your full stage height 

//Inside your keypress event listener, after setting the new y... 
if (submarineMC.y > maxY) submarineMC.y = maxY; 
else if (submarineMC.y < minY) submarineMC.y = minY; 
相关问题