AS3游戏 - 跳跃不会改变速度

时间:2013-04-26 07:26:51

标签: actionscript-3 flash

我在播放AS3中的播放器时遇到问题。我会上传所有相关内容,我真的很难弄明白我做错了什么。它曾经工作,但现在它没有,我花了这么长时间修复错误我无法弄清楚这搞砸了。 Player类是从BoundaryObject类扩展而来的。我知道该功能已激活,因为播放器的this.gotoAndStop("jump");有效。

  

玩家类 - 跳跃功能

public function startJumping():void
{
    if (isJumping == false)
    {

        isJumping = true;
        this.gotoAndStop("jump");
        downwardVelocity = -28;
    }
}
  

BoundaryObject类 - 重力的变量/循环

public var downwardVelocity:Number;
protected var isRunning:Boolean;
public var isJumping:Boolean;

public function BoundaryObject()
{

    trace("i am any object that collides with the boundary");

    downwardVelocity = 0;
    isRunning = false;

    this.gotoAndStop("jump");

    addEventListener(Event.ENTER_FRAME,enterFrameHandler);

    // constructor code
}

private function enterFrameHandler(event:Event):void
{

    downwardVelocity +=  2; //equals itself plus 2
    this.y += downwardVelocity;

}

public function incrementUpward()
{
    //increment the y up until not colliding
    this.y -= 0.1;

}

public function keepOnBoundary()
{
    downwardVelocity = 0;//stops pulling the object down

}

2 个答案:

答案 0 :(得分:0)

乍一看,在构造函数中设置此框架时,可能会将跳转布尔值设置为true

答案 1 :(得分:0)

尝试设置父级的向下速度。

parent.downwardVelocity = -28;