我正在使用as3在Flash中创建游戏。这是我的问题。游戏的第一部分是将球保持在木板上x秒。我已经能够让球在木板上滚动,但无法弄清楚如何考虑球的 y 值......这是我的代码。
function ballRollLeft(event:Event):void{
ball.x=ball.x+plank.rotation;
//ball.y++;
if(ball.x<332.7){
var yVel:Number = plank.rotation;
var yAcc:Number = plank.rotation;
ball.addEventListener(Event.ENTER_FRAME, move3);
function move3(event:Event):void{
ball.y-=yVel;
yVel+=yAcc;
}
}
}
function ballRollRight(event:Event):void{
ball.x=ball.x+plank.rotation;
//ball.y=ball.y-plank.rotation;
if(ball.x>572.7){
var yVel:Number = plank.rotation;
var yAcc:Number = plank.rotation;
ball.addEventListener(Event.ENTER_FRAME, move3);
function move3(event:Event):void{
ball.y+=yVel;
yVel+=yAcc;
}
}
}
它可以使球左右滚动,但 y 值不会改变,当球靠近边缘时,它会飞落和向下。
任何这方面的帮助将不胜感激。谢谢
跟踪 ball.y、yVel 和 yAcc,并确保它们不是 NaN 或 0。 在 yVel 和 yAcc 的初始化中强制一个值。