为了账号安全,请及时绑定邮箱和手机立即绑定

flash 如何把 addchild 加载的对象卸载?

/ 猿问

flash 如何把 addchild 加载的对象卸载?

呼唤远方 2019-04-03 11:07:58

flash 如何把 addchild 加载的对象卸载


查看完整描述

3 回答

?
翻阅古今

情况1:父swf调用子swf中的函数、变量。
使用Loader.contentLoaderInfo的监听器。具体方法:
1、转为EventDispatcher并添加监听器,监听完成事件。
EventDispatcher(Loader.contentLoaderInfo).addEventListener(Event.Complete,loaded);
2、设计完成事件处理方法loaded
function loaded(e:Event):void{
//假定子swf中有函数sayHi(),那么可以这样调用:
e.target.content.sayHi();
}
由于是在父swf中执行方法,也可以设计接受父对象的方法,把父对象的引用传给子swf。这样子swf也就能够执行父swf中的函数,获取其变量了。
情况2:子swf调用父swf中的函数和变量。
被加载的子对象一般被保存在Loader对象中。而Loader对象又通常被加到父swf中。这样我们就可以通过this.parent一层一层取得父对象了。前提是Loader对象要被addChild到父对象中。例如:
假如父swf中有变量var name:String = "ljf",并且通过Loader对象myLoader加载子swf,并执行了addChild(myLoader),则,我们可以在子swf中这样获取到name值:
Object(this.parent.parent).name
这样做要特别小心。因为我们无法控制父对象加载子对象的方式。也许,有的人会用一个MovieClip来加载Loader对象,或者,加载对象之后,没有把对象addChild加入到父swf的容器结构中。那么用this.parent.parent获取到的,可能就是null值了。



查看完整回答
反对 回复 2019-04-06
?
慕的地8271018

很简单的问题
第一帧上再加一行
var m:main=new main();
addChild(m);
main不是绑定类,m也没有添加到舞台上,如何显示?

查看完整回答
反对 回复 2019-04-06
?
哔哔one

AS3.0里面没有直接舞台的添加,因为他是一面向对象的语言,不像AS2.0,所以你必须用对象添加上去,你可以试一下用一个新的movieclip,放在舞台上,全空的,然后大小代码设置为你要的load的大小,然后mc.add试一下,我的flash卸载掉了,函数及不大清楚了,你试一下,必须要有实例,对实例操作才有效

查看完整回答
反对 回复 2019-04-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信