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



我正在使用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 的初始化中强制一个值。

最新更新