我正在使用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值不会改变,当球接近边缘时,它会飞来飞去。
对此的任何帮助将不胜感激。 谢谢
答案 0 :(得分:0)
跟踪ball.y,yVel和yAcc并确保它们不是NaN或0.强制yVel和yAcc初始化中的值。