我正在尝试向舞台添加一个对象。在文档类中,我使用以下代码:
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 病毒创建
出了什么问题?为什么它会被创建两次?为什么舞台高度会发生变化?为什么我的对象没有出现在我的屏幕底部?
编辑: usingstage.stageHeight
给出相同的结果。