gpt4 book ai didi

actionscript-3 - 如何使用 as3 类访问舞台上的电影剪辑?

转载 作者:行者123 更新时间:2023-12-05 00:03:01 24 4
gpt4 key购买 nike

public class MyClass extends MovieClip {
public function MyClass():void {
my_mc.addEventListener(MouseEvent.CLICK, action);
}
private function action(e:MouseEvent):void {
trace("cliked");
}
}

时间线代码
 var myClass:MyClass = new MyClass();
addChild(myClass);

我无法访问 my_mc (放置在 FLA 中)影片剪辑。如何访问?

最佳答案

尝试这个:

public class MyClass extends MovieClip
{
public function MyClass()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);

}// end function

private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);

var myMc:MovieClip = stage.getChildByName("my_mc") as MovieClip;
// var myMc:MovieClip = parent.getChildByName("my_mc") as MovieClip;

myMc.addEventListener(MouseEvent.CLICK, onMyMcClick)

}// end function

private function onMyMcClick(e:MouseEvent)
{
trace("clicked");

}// end function

}// end class

如果这不起作用(我认为不会),那是因为您的 my_mc显示对象不是舞台的子对象,而是 MainTimeline 实例的子对象.如果是这样,那么只需注释掉上面代码中的以下语句:
var myMc:MovieClip = stage.getChildByName("my_mc") as MovieClip;

并取消注释上述代码中的以下语句:
// var myMc:MovieClip = parent.getChildByName("my_mc") as MovieClip;

如果我的假设是正确的, my_mcmyClass显示对象共享同一个父对象。

关于actionscript-3 - 如何使用 as3 类访问舞台上的电影剪辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com