簡體   English   中英

AS3射擊游戲

[英]AS3 down shooting game

我正在為學校項目編程一個簡單的游戲。 這有點像“太空侵略者”,但是我一次不能插入多個敵人……它只是向我顯示了一個敵人,現在我遇到一個錯誤,提示“在String上找不到屬性x,並且沒有默認值。”

我試圖創建一個向量來創建多個敵人,但它根本不起作用...

這是我的代碼:

敵人的變量:

private var bird_1:MovieClip;
    private var InimigoList:Vector.<MovieClip> = new Vector.<MovieClip>();
    private var NumInimigos:int = 10;
    private var birdVelo:Number = 3;

接着:

bird_1 = new MovieClip( textureAtlas.getTextures("bird"), 5 );
        bird_1.smoothing = "none";
        Starling.juggler.add(bird_1);
        bird_1.visible = false;
        addChild(bird_1);

        for (var i:uint = 0; i < NumInimigos; i++) {
        var Enemy:MovieClip = new MovieClip (textureAtlas.getTextures("bird"),12);
        Enemy.smoothing = "none";
        Enemy.visible = false;
        Enemy.x = i * 50 + Enemy.width;
        InimigoList.push(Enemy);
        Starling.juggler.add(Enemy);
        addChild(Enemy);

現在,我希望多個敵人出現在舞台上。 然后,我這樣做了:

for (var i:uint = 0; i < NumInimigos; i++) {
            var newEnemy = InimigoList[i];
            newEnemy += birdVelo;
            if (newEnemy.x > stage.stageWidth){
            newEnemy.x = 0;
            }
            }

但這行不通...我只有一個敵人,沒有其他敵人...您能幫我嗎? 謝謝!

您是否正在創造看不見的敵人?

Enemy.visible = false;

您是否將所有敵人放在舞台的同一區域?

for (var i:uint = 0; i < NumInimigos; i++) {
            var newEnemy = InimigoList[i];
            newEnemy += birdVelo;
            if (newEnemy.x > stage.stageWidth){
            newEnemy.x = 0;
            }
            }

這是做什么的?

newEnemy += birdVelo;

您是否嘗試過直接從其Array位置引用該對象?

InimigoList[i].x = newx;
InimigoList[i].y = mewy;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM