0

私はこのプログラミング全体にまったく慣れていないので、本当に助けが必要です。基本的に、クリックされたボタンに応じて増減するヘルスバーを作成しようとしています。101 フレーム (ゼロを含めた) のヘルスバー ムービークリップを作成し、これをムービークリップのアクション スクリプト レイヤーに配置しました。

var health:Number = 0;

if(health == 0)
{
        gotoAndStop("1")
}

if(health == 1)
{
        gotoAndStop("2")
}

if(health == 2)
{
        gotoAndStop("3")
}

などなど。基本的に、ステージ上に fortyfiveup_btn というボタンがあり、これを実行するように指示されています。

var health:Number = 0;

fortyfiveup_btn.addEventListener(MouseEvent.CLICK, fortyfiveupClick);
function fortyfiveupClick(event:MouseEvent):void{
    health = health+45
}

ボタン用のヘルス変数とヘルスバー用のヘルス変数の両方が相互作用しないことにすぐに気付きました。ボタンをクリックすると、ヘルスが関連するフレームまたはパーセンテージになるようにするにはどうすればよいですか?

回答ありがとうございます。私が得ることができるすべての助けに感謝します:)

4

1 に答える 1

0

answer == yes私のコメントにこれを行う必要がある場合:

ムービークリップにインスタンス名 (おそらくライフバー) を付ける必要があり、ステージからは「ライフバー」内のヘルスにlifebar.health.

したがって、ステージ内でこれが必要です。

//You can delete the var health:Number = 0;
fortyfiveup_btn.addEventListener(MouseEvent.CLICK, fortyfiveupClick);
function fortyfiveupClick(event:MouseEvent):void{
    //You can write this, too: lifebar.health += 45;
    lifebar.health = lifebar.health+45;
}

ライフバー スクリプトを最適化することもif(health == x)できます。これも使用できる101 回は使用しないでください。

gotoAndStop(health + 1);

ENTER_FRAME(これはイベントの中にあると思いますか?)

編集:

いくつかのエラー対策:

//Don't let health decrease below 0
if(health < 0) health = 0;
//And don't above 100
else if(health > 100) health = 100;
gotoAndStop(health + 1);

10 進数を使用しない場合と負の整数を使用しない場合intの代わりに使用します (数値が 0 を下回るとバグが発生するため、健康のために を使用します)。Numberuintint

health:int = 0;
于 2012-07-14T18:06:13.427 に答える