如何在Actionscript 3中的类中移动舞台?

时间:2011-12-18 14:45:43

标签: class actionscript move stage

好的,所以我知道如何通过在第1层动作中修改this.x和this.y变量来在实际的.fla文件中移动舞台。

但是在文档类中 - 公共类Starlight扩展了MovieClip,无论我尝试什么,它似乎都不起作用,我的研究引导我使用这个代码:

for( i = 0; i < stage.numChildren; i ++){
        stage.getChildAt(i).x -= player.speedx * player.bounceSpeed;
    stage.getChildAt(i).y -= player.speedy * player.bounceSpeed;
}

与实际移动舞台本身相比,我确实意识到它的hacky和速度较慢。而且我不确定如果移动的另一个物体进入舞台会发生什么,因为从技术上讲,这段代码会不自然地改变舞台上所有东西的x,y。

任何帮助表示赞赏!! 干杯

编辑:试过这个 -

    var stage2:Sprite = new Sprite();
        stage2.x = stage.stageWidth / 2;
        stage2.y = stage.stageHeight / 2;
        stage2.width = 4000;
        stage2.height = 4000;
        addChild(stage2);

        for (i = 1; i < 50; i ++)
        {
            var asteroid:Asteroid = new Asteroid();
            asteroid.x = Math.round(Math.random() * stage.stageWidth * 4);
            asteroid.y = Math.round(Math.random() * stage.stageHeight * 4);
            stage2.addChild(asteroid);
            collisionList.addItem(asteroid);
            asteroids.push(asteroid);
        }

1 个答案:

答案 0 :(得分:1)

哇,不要移动舞台!

创建MovieClipSprite并将所有内容粘贴在那里,然后只是移动该对象的情况。

var stage2:Sprite = new Sprite();

stage2.addChild(something);
stage2.addChild(somethingElse);

stage2.x = 10;
stage2.y = 10;