請教有關Event.ENTER_FRAME的應用

2011-06-07 16:27:31 by 【6yang】, 175 visits, 收藏 | 返回



依照奶綠老師的教學,此時_contentMC就可以代表XXX.swf,
但在測試影片時,只能重複播放第ㄧ個swf影片,
而得到的輸出錯誤訊息是:

TypeError: Error #1009: 無法存取 Null 物件參考的屬性或方法。
at xxxx_fla::MainTimeline/myEnterFrame()


記得姜老師曾說過,這樣的訊息代表無法抓取到場景上的物件,
可能要檢查實體名稱...等哪裡出了問題,
但我不曉得該從何檢查起?
是因為

var _contentMC:MovieClip = swfLoader.content as MovieClip;

並沒有對讀進來的swf影片給予名稱嗎?


不好意思~
學生發問問題很多,造成困擾還請包涵^^|||

2009/5/27 12:16
 
 

 

回覆: 回覆: 請教有關Event.ENTER_FRAME的應用
飛肯老師
註冊日期:
2009/1/12 14:08
留言: 74
離線
第三篇:
你沒有對他做宣告...所以他只當他是可視物件...不是MOVIECLIP...所以沒有currentframe等屬性


第四篇:
因為都對同一個LOADER...所以顯示清單上市只有一個SWF顯示出來的


第五篇:

是偵聽的問題...等到Loader讀取完在加入偵聽吧...
不然沒LOAD完...CONTENT部分應該是讀不到的...

2009/5/27 14:37
 
 

 

回覆: 回覆: 回覆: 請教有關Event.ENTER_FRAME的應用
飛肯老師
註冊日期:
2008/3/20 12:21
留言: 564
離線

var swfArray:Array=new Array("1.swf","2.swf");
var
arrayIndex:int=0;
var
swfLoader:Loader=new Loader();//建立實體
swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderCompleteHandler);
this.addChild(swfLoader);//加到場景上

loadSWF();
function
loaderCompleteHandler(e:Event):void{
//當外部的.swf載入成市嶀~偵聽EnterFrame。
addEventListener(Event.ENTER_FRAME,myEnterFrame);
}

function
loadSWF():void{
swfLoader.load(new URLRequest( "swf/"+swfArray[arrayIndex] ));//讀取檔案
arrayIndex++;
if(
arrayIndex >swfArray.length-1) arrayIndex = 0;
}
function
myEnterFrame(e:Event):void {
var
_mc:MovieClip = swfLoader.content as MovieClip;
    if (
_mc.currentFrame==_mc.totalFrames) {
loadSWF();
removeEventListener(Event.ENTER_FRAME,myEnterFrame);
}
}

2009/5/28 17:38
 
 

 

回覆: 請教有關Event.ENTER_FRAME 與Loader的應用
會員三級
註冊日期:
2008/3/20 18:50
留言: 23
離線
謝謝 Alex老師與 奶綠茶老師的指導,真是受用無窮啊

學生還有ㄧ個問題請教,
在奶老師撰寫的function myEnterFrame()中,有removeEventListener(Event.ENTER_FRAME,myEnterFrame);

請問爲什麼還要移除偵聽EnterFrame呢?
是否因為若沒有移除偵聽,myEnterFrame會不斷的重複執行,會造成什麼樣的問題呢?




而當自行測試時,也發現了ㄧ些關鍵與大家分享:
1.在外部載入的swf影片,不可用兩個以上的場景製作,否則當第ㄧ段影片播放完畢時,
就無法播放下一段應載入的swf影片。

2.當檔案發佈時,不論是否為*.exe 或是*.swf,小弟是在『本機播放安全性』中,
主檔&欲載入的影片皆選擇『只存取網路』,如此一來才能順利播放。

3.欲載入的影片在最後一個影格加上stop,不會影響接著讀取下一段影片的播放。

4.若在讀取第ㄧ段影片設定fscommand函數(ex:全螢幕),
則第ㄧ個swf的設定會持續作用到讀取第2個,但其他設定是否會影響則不清楚。

(但只要在Loader主檔設定就好了嘛 )

其實3、4兩點好像廢話.......
分享到:
share

    图片原图

    loading

    loading