我在访问舞台上的对象时遇到问题...
在我的情况下,我创建了一个movieclip(mc1),里面有两个不同的动画片段(mc2,mc3),舞台上有一个单独的动态文本字段(tf1)。
如果单击mc2或mc3,则tf1应更改为固定文本。 不幸的是,我总是在访问tf1时遇到错误......
来自mc1的代码:
mc2.addEventListener(MouseEvent.MOUSE_DOWN, Mouse_up2);
mc3.addEventListener(MouseEvent.MOUSE_DOWN, Mouse_up3);
function Mouse_up2(event:MouseEvent):void {
stage.tf1.text="text2"; }
function Mouse_up3(event:MouseEvent):void {
stage.tf1.text="text3"; }
答案 0 :(得分:0)
此错误消息的来源是因为您的textField不是Stage
的子项,而是MainTimeline
的子项,Stage
本身位于trace(tf1.parent); // [object MainTimeline]
trace(tf1.parent.parent); // [object Stage]
。< / p>
mc2.addEventListener(MouseEvent.MOUSE_DOWN, Mouse_up2);
function Mouse_up2(event:MouseEvent): void
{
tf1.text = "text2";
}
要定位你的textField,你只需要写:
this
注意强>
关键字object MainTimeline
引用了object Stage
所包含的tf1.text = "text2";
this.tf1.text = "text2";
。这两个代码是等价的:
this.mc2.addEventListener(MouseEvent.MOUSE_DOWN, Mouse_up2);
function Mouse_up2(event:MouseEvent): void
{
this.tf1.text = "text2";
}
因此,你也可以写:
{{1}}