日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ActionScript 3.0 加载外部SWF素材资源MovieClip,SimpleButton不支持鼠标事件

發(fā)布時(shí)間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ActionScript 3.0 加载外部SWF素材资源MovieClip,SimpleButton不支持鼠标事件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們用flash buidler加載素材一般有三種途徑:

1、SWC,這種方式會增大SWF的大小

2、flash cs項(xiàng)目關(guān)聯(lián)

3、SWF專門放素材資源通過Loader方式加載

今天發(fā)現(xiàn)通過SWF加載方式有個(gè)問題要加載的素材如下圖:

  

A:是一個(gè)MC,里面放了一個(gè)B:mc,C:SimpleButton

問題:加載進(jìn)A后對A添加鼠標(biāo)事件如CLICK事件,單擊B或C時(shí)沒有反映?

開始我的加載方式是這樣的:

目錄結(jié)構(gòu)如圖:

代碼如下:

1 package 2 { 3 import flash.display.DisplayObjectContainer; 4 import flash.display.Loader; 5 import flash.display.LoaderInfo; 6 import flash.display.MovieClip; 7 import flash.display.Sprite; 8 import flash.events.Event; 9 import flash.events.MouseEvent; 10 import flash.net.URLRequest; 11 import flash.system.ApplicationDomain; 12 13 [SWF(width = '1024',height = '768')] 14 public class TestExam extends Sprite 15 { 16 private var cache:Object = {}; 17 private var mcName:String = "StartBar"; 18 public function TestExam() 19 { 20 21 init(); 22 } 23 24 private function init():void{ 25 var loader:Loader = new Loader(); 26 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComp); 27 loader.load(new URLRequest('../libs/Material.swf'));//注意這個(gè)路徑 28 } 29 30 private function onComp(e:Event):void{ 31 trace(e.currentTarget,e.target); 32 var loaderInfo:LoaderInfo = e.currentTarget as LoaderInfo; 33 var appDomain:ApplicationDomain = loaderInfo.applicationDomain; 34 cache[mcName] = appDomain.getDefinition(mcName) as Class; 35 36 var clz:Class = getDef(mcName); 37 addMovie( new clz() as MovieClip ); 38 } 39 40 private function getDef(name:String):Class 41 { 42 if( cache[name] ) 43 { 44 return cache[name] as Class; 45 } 46 return null; 47 } 48 49 private function addMovie(mc:MovieClip):void 50 { 51 addChild(mc); 52 } 53 54 private function onRightClick(evt:MouseEvent):void{ 55 trace(evt.target,evt.currentTarget); 56 } 57 } 58 }

但是就出現(xiàn)了我的問題。

解決方式:修改路徑

上方代碼路徑改為

loader.load(new URLRequest('Material.swf'));
就可以了。
雖然解決了現(xiàn)在的問題但是還是沒弄明白為什么,都能把素材加到舞臺就是路徑不一樣而已卻影響了鼠標(biāo)事件。望大牛指點(diǎn)。

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/ztdy/p/3716873.html

總結(jié)

以上是生活随笔為你收集整理的ActionScript 3.0 加载外部SWF素材资源MovieClip,SimpleButton不支持鼠标事件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。