本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2006-07-08 · 原址 http://www.flash8.net/teach/1502.htm ← Flash 保存计划

修正loadMovie()中使用onLoad的問題

作者:Super-Tomato   类型:原创   来源:闪吧

  今天就來談一下如何修正一下Flash的onLoad事件的問題, 不知道有沒有人在載入MC時使用過onLoad事件呢??





onLoad事件其實很好用, 因為很多變量不必要在一開始的時候就創建而占用記憶體位置... 如果變量只是為了控制某元件而成立, 而在不必要的時候只要移除掉這個元件變量就會跟著消失... 這樣變量也就被刪除而釋放出記憶體 :)

那麼根據字典當中所說的使用方法, 但卻無法執行而頭痛不已呢??







在這裡提供兩種情況下解決的方法 :)

情況一 : 先請下載這個例子看看, 在場景上建立一個MC元件, 并以這個MC載入圖片或swf
点击浏览该文件

是否無法執行這個onLoad部份呢??

loader.onLoad = function() {
trace("on load");
}
那麼跟著就教你們解決方法, 選擇此場景MC後打開ACTION PANEL後如圖:

按此在新窗口浏览图片


只要增加 // , 這樣就可以解決了 :), 是不是很簡單呢??

修正例子 :
点击浏览该文件
情況二 : 就是使用createEmptyMovieClip()建立MC元件, 這樣就無法使用上面的方法了.. 至於這個漏洞就拷貝以下的代碼讓MC不被刷新 :)

sol = function (f) {
if (__onLoadHandler__ == undefined) {
_global.__onLoadHandler__ = {};
}
__onLoadHandler__[this] = f;
};
gol = function () {
return __onLoadHandler__[this];
};
MovieClip.prototype.addProperty("onLoad", gol, sol);


以上代碼固定了...不用任何的修改 :), 接下來這樣使用即可

this.createEmptyMovieClip("loader",1);
loader.onLoad=function(){
trace("loaded")
}
loader.loadMovie("doggy.jpg");


修正例子 :
点击浏览该文件


   责任编辑:uufeng    时间:2004年6月7日

正在加载评论...