0

AS3 で Player をジャンプさせるのに問題があります。関連するすべてのものをアップロードします。何が間違っていたのかを正確に把握するのに本当に苦労しています。以前は機能していましたが、現在は機能していません。エラーの修正に長い時間を費やしたため、どこが台無しになったのかわかりません。Player クラスは BoundaryObject クラスから拡張されています。プレーヤーが動作しているため、機能がアクティブになっていることがわかりthis.gotoAndStop("jump");ます。

Player クラス - ジャンプ用関数

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

}
4

2 に答える 2

0

親のdownwardVelocityを設定してみてください。

parent.downwardVelocity = -28;
于 2013-04-26T14:21:48.423 に答える
0

一見するとtrue、コンストラクターでこのフレームを設定しているため、ジャンプブール値をに設定している可能性があります。

于 2013-04-26T10:19:29.890 に答える