ステージにオブジェクトを追加しようとしています。ドキュメント クラスでは、次のコードを使用します。
public function StartGame()
{
gameClass = new GameClass(this);
this.addChild(gameClass);
}
ゲームで、ステージの一番下にオブジェクトを追加したいと考えています。その後、画面の外に出るまで上に移動する必要があります。次のコードを追加しました。
public function GameClass(main:MainClass) {
this.main = main;
viruslist = new Array();
this.addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event):void {
addVirus(75);
}
public function addVirus(xcoor)
{
trace("Creating virus");
var v:Virus = new Virus(this.main, this, xcoor);
this.addChild(v);
viruslist.push(v);
}
次に、Virus クラスで、次のことを行います。
public function Virus(main:MainClass, gameKlasse:GameClass, x:Number) {
this.main = main;
this.game = gameKlasse;
this.xcoor = x;
this.addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event):void {
this.y = main.height;
trace("Height: " + y);
trace("Stage height: " + main.height);
this.addEventListener(Event.ENTER_FRAME, runTime);
trace("Virus created");
}
問題は、私のステージがスクリーンの高さくらいだということです。しかし、ウイルスはほぼ一番上に配置されます。私のログは次のとおりです。
ウイルス作成高さ:86 ステージ高さ:156.5 ウイルス作成高さ:156.5 ステージ高さ:227 ウイルス作成
何がうまくいかないのですか?2回作成されるのはなぜですか?ステージの高さが変わるのはなぜですか?オブジェクトが画面の下部に表示されないのはなぜですか?
編集: を使用しstage.stageHeight
ても同じ結果が得られます。