0

撃たれたときに残っているアイテムの数をカウントするコードを作成するにはどうすればよいのでしょうか。私は射撃場をやっています。特別なことは何もありません。より詳細には、ランダムに画面に表示される8つのモンスターがあり、側面に別のグラフィックがあり、8(モンスターの数)から始まるカウンターを保持しています。1 つを撃った後、カウンターは 8 から 7、6、5、4 などに下がります。

リストにモンスターを配置するためのすべてのコードを保持するメイン クラス、アニメーションのみを持つモンスター クラス、最後にボード (カウンター) 用の別のクラスがあります。カウンターの取得方法がわかりません。好きなように働いています。彼らが助けることができると思う人はいますか?

また、ボードには、Flash で作成された「Monster's Left」という動的テキスト フィールドがあり、カウント ダウンする必要があります。

はい、申し訳ありませんが、私が使用しているコードは次のとおりです。

private var _monsters:Array = []; 

for(var j:uint = 0; j < 8; j++)
{
    var monster:Monster = new Monster();
    this.addChild(monster);
    monster.x = 100 + j * 100;
    monster.y = 475;
    _monsters.push(monster);
    monster.addEventListener(MouseEvent.CLICK, monsterDestroy);
} 

上記のコードはメイン クラスです。以下はボードのコードです。

import flash.events.Event;

public class Board extends ScoreDisplayBase
{
    private var _monsters:Array = [];

    public function Board()
    {
        super();
        this.addEventListener(Event.ENTER_FRAME, countDown);
    }

    private function countDown(event:Event):void
    {
        //store the monster we clicked on in a new array
        var clickedMonster:monster = monster(event.currentTarget);

        var index:uint = _monsters.indexOf(clickedMonster);
    }
4

2 に答える 2

0

ああ、あなたはそのようにします...

onclick-eventlistener を作成する必要があります。モンスターがクリックされるたびに、クリックされたモンスターの数を増やし (その特定のモンスターを削除または削除し)、クリックされたモンスターの数が最初に開始した配列のサイズと等しいかどうかを比較します。

于 2012-04-26T13:27:48.163 に答える
0

または、モンスター クラスに追加var alive:Booleanして、生きているモンスターの数を確認するために、リストを反復処理し、true ごとに +1 を追加することもできます。モンスターを追加または削除しても、数値は正確なままになるため、これはよりスケーラブルです。

于 2012-04-26T14:01:58.180 に答える