0
我試圖添加一個對象到舞臺。在文檔類,我用下面的代碼:Flash添加了我的對象兩次和舞臺高度切換
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);
}
然後,在病毒類,我做到以下幾點:
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創建 病毒
到底哪裏出問題了?爲什麼會創建兩次?爲什麼舞臺高度會改變?爲什麼我的對象不出現在我的屏幕底部?
編輯:使用stage.stageHeight
給出了相同的結果。
好的,讓我編輯我的問題,因爲問題依然存在。在創建病毒之前,我創建了播放器對象(在x = 2和y = 2上)。所以舞臺上已經有了一些東西。我現在記錄了main.height(因爲stage.stageHeight給出了同樣的問題),但是值完全相同。 – Joetjah 2013-03-17 19:56:18
我知道你的病毒創建了兩次,你確定GameClass只發起過一次嗎?你確定StartGame只被調用過一次嗎? – Michiel 2013-03-17 20:08:20
我無法真正看到高度來自哪裏,這些類是否與圖書館中的圖形對象相關? – Michiel 2013-03-17 20:11:13