用户控制的旋转矩形帮助AS3上的滚球

时间:2012-11-14 15:33:37

标签: actionscript-3 flash

我正在使用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值不会改变,当球接近边缘时,它会飞来飞去。

对此的任何帮助将不胜感激。 谢谢

1 个答案:

答案 0 :(得分:0)

跟踪ball.y,yVel和yAcc并确保它们不是NaN或0.强制yVel和yAcc初始化中的值。