我正在尝试从子类动态更改主舞台上的文本,但我无法弄清楚如何做到这一点。我可以通过使用myTextArea.text =“Blarg”来改变主类中的字段文本,但是我很难从子类中做到这一点并且谷歌没有帮助。
我的申请结构类似于:
//Main class file
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Stage;
public class Main extends Sprite {
static public var mainStage:Stage;
public function Main() {
if (stage) stageLoader();
else addEventListener(Event.ADDED_TO_STAGE, stageLoader);
}
private function stageLoader() {
mainStage = this.stage;
removeEventListener(Event.ADDED_TO_STAGE, stageLoader);
//This is working just fine
myTextArea.text = "Blarg";
}
}
}
//Sub class
package {
import flash.display.Sprite;
public class OtherClass extends Sprite {
public function OtherClass() {
//This throws "Access of undefined property myTextArea" error
myTextArea.text = "Blarg";
}
}
}
我确信解决方案很简单,但我无法绕过它,我会很乐意帮助你!
答案 0 :(得分:2)
当我创建需要链接到主时间轴的类时,我将作为参数传递给构造函数。像这样:
package {
import flash.display.Sprite;
public class OtherClass extends Sprite {
public function OtherClass(_path) {
//This throws "Access of undefined property myTextArea" error
_path.myTextArea.text = "Blarg";
}
}
}
然后从你的主要班级:
var _otherClass = new OtherClass(this);