ActionScript 3.0 加载外部SWF素材资源MovieClip,SimpleButton不支持鼠标事件
2014-05-08 19:40
471 查看
我们用flash buidler加载素材一般有三种途径:
1、SWC,这种方式会增大SWF的大小
2、flash cs项目关联
3、SWF专门放素材资源通过Loader方式加载
今天发现通过SWF加载方式有个问题要加载的素材如下图:
A:是一个MC,里面放了一个B:mc,C:SimpleButton
问题:加载进A后对A添加鼠标事件如CLICK事件,单击B或C时没有反映?
开始我的加载方式是这样的:
目录结构如图:
代码如下:
但是就出现了我的问题。
解决方式:修改路径
上方代码路径改为
1、SWC,这种方式会增大SWF的大小
2、flash cs项目关联
3、SWF专门放素材资源通过Loader方式加载
今天发现通过SWF加载方式有个问题要加载的素材如下图:
A:是一个MC,里面放了一个B:mc,C:SimpleButton
问题:加载进A后对A添加鼠标事件如CLICK事件,单击B或C时没有反映?
开始我的加载方式是这样的:
目录结构如图:
代码如下:
package { import flash.display.DisplayObjectContainer; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.MovieClip; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.net.URLRequest; import flash.system.ApplicationDomain; [SWF(width = '1024',height = '768')] public class TestExam extends Sprite { private var cache:Object = {}; private var mcName:String = "StartBar"; public function TestExam() { init(); } private function init():void{ var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComp); loader.load(new URLRequest('../libs/Material.swf'));//注意这个路径 } private function onComp(e:Event):void{ trace(e.currentTarget,e.target); var loaderInfo:LoaderInfo = e.currentTarget as LoaderInfo; var appDomain:ApplicationDomain = loaderInfo.applicationDomain; cache[mcName] = appDomain.getDefinition(mcName) as Class; var clz:Class = getDef(mcName); addMovie( new clz() as MovieClip ); } private function getDef(name:String):Class { if( cache[name] ) { return cache[name] as Class; } return null; } private function addMovie(mc:MovieClip):void { addChild(mc); } private function onRightClick(evt:MouseEvent):void{ trace(evt.target,evt.currentTarget); } } }
但是就出现了我的问题。
解决方式:修改路径
上方代码路径改为
loader.load(new URLRequest('Material.swf')); 就可以了。 虽然解决了现在的问题但是还是没弄明白为什么,都能把素材加到舞台就是路径不一样而已却影响了鼠标事件。望大牛指点。
相关文章推荐
- AS3加载外部swf资源库中的元件(MovieClip)
- 转载:Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
- 关于Actionscript 3.0中的鼠标事件
- iOS之支持https与ssl双向验证(包含:解决UIWebView加载不了https网页的图片,css,js等外部资源)
- 关于Actionscript 3.0中的鼠标事件
- flash actionscript3.0加载外部swf资源包
- [ActionScript 3.0] as3.0加载as2.0的swf时获取as2.0的实际舞台尺寸
- [ActionScript 3.0] 如何控制加载swf动画的播放与暂停
- 2.自己总结的游戏框架小到中型游戏适用——从swf加载素材资源
- iOS之支持https与ssl双向验证(包含:解决UIWebView加载不了https网页的图片,css,js等外部资源)
- 每天学一点flash(5) actionscript 3.0 外部加载mp3音乐
- ActionScript3 取得外部加载的SWF显示对象类的引用方法
- 每天学一点flash(5) actionscript 3.0 外部加载mp3音乐
- Actionscript 3.0 编程实例二 鼠标事件 (写给初学的朋友)
- 每天学一点flash(5) actionscript 3.0 外部加载mp3音乐
- Flash AS3.0加载外部资源(图片、MP3、SWF)的两种方式
- 关于Actionscript 3加载外部swf
- 关于Actionscript 3加载外部swf
- 第二章 ActionScript 3.0学习之画星星(鼠标及键盘事件)