1

ボタンがクリックされ、ヘルスバーから45ヘルスポイントが下がるゲームを作ろうとしています。私はすべてのコーディングを持っており、それはうまく機能しますが、ヘルスが45未満の場合、ヘルスバーから何も取得されないようにボタンを作成したいと思います。私は使ってみました:

if(health < 45) health = health;

しかし、うまくいきませんでした。この問題の解決は簡単だと思いますが、理解できません。明らかに、私はまったく新しいのですが、それでもいくつかの概念に頭を悩ませることは難しいと感じています。これは私のコーディングです:

fortyfivedown_btn.addEventListener(MouseEvent.CLICK, fortyfivedownClick);

    var health:int = 100;

    lifebar.gotoAndStop(101);

    function fortyfivedownClick(event:MouseEvent):void{
        health -= 45;
        if(health < 0) health = 0;
        else if(health > 100) health = 100;

        lifebar.gotoAndStop(health + 1);
    }
4

4 に答える 4

1

ヘルスが 45 以下の場合、単に何もしないことに問題はありますか? たとえば、次のようなものです。

function fortyfivedownClick(event:MouseEvent):void {
    if (health <= 45) {
        return;
    }
    // Perform action
}

これにより、プレイヤーの体力が十分でない場合、機能が早期に終了します。

于 2012-07-16T08:29:40.477 に答える
0

私が質問を理解した場合:

if(health>=45) // just add this
    lifebar.gotoAndStop(health + 1);
于 2012-07-16T08:34:23.987 に答える
0

実際には非常に単純です。イベントはヘルスを45下げるように指示し、ヘルスが0未満かどうかをチェックします。メソッドの最初にあるヘルスの量をチェックし、そうである場合はメソッドからジャンプする必要があります。 45以下。

「ブレーク」がフラッシュで機能するかどうかはわかりませんが、それが最も簡単な解決策です

例えば:

function fortyfivedownClick(event:MouseEvent):void{
    if (health <= 45) {
        break;
    }
    health -= 45;
    if(health < 0) health = 0;
    else if(health > 100) health = 100;
    lifebar.gotoAndStop(health + 1);
    }
于 2012-07-16T08:34:57.223 に答える
0

Math.max メソッドを使用します。値の正規化など、IT の非常に便利な場所です。

function fortyfivedownClick(event:MouseEvent):void{
   health = Math.max( 45, health -= 45 );
}
于 2012-07-16T09:19:46.587 に答える