修正loadMovie()中使用onLoad的問題
作者:Super-Tomato 类型:原创 来源:闪吧
今天就來談一下如何修正一下Flash的onLoad事件的問題, 不知道有沒有人在載入MC時使用過onLoad事件呢??
onLoad事件其實很好用, 因為很多變量不必要在一開始的時候就創建而占用記憶體位置... 如果變量只是為了控制某元件而成立, 而在不必要的時候只要移除掉這個元件變量就會跟著消失... 這樣變量也就被刪除而釋放出記憶體 :)
那麼根據字典當中所說的使用方法, 但卻無法執行而頭痛不已呢??
在這裡提供兩種情況下解決的方法 :)
情況一 : 先請下載這個例子看看, 在場景上建立一個MC元件, 并以這個MC載入圖片或swf
点击浏览该文件
是否無法執行這個onLoad部份呢??

只要增加 // , 這樣就可以解決了 :), 是不是很簡單呢??
修正例子 :
点击浏览该文件
情況二 : 就是使用createEmptyMovieClip()建立MC元件, 這樣就無法使用上面的方法了.. 至於這個漏洞就拷貝以下的代碼讓MC不被刷新 :)
点击浏览该文件
onLoad事件其實很好用, 因為很多變量不必要在一開始的時候就創建而占用記憶體位置... 如果變量只是為了控制某元件而成立, 而在不必要的時候只要移除掉這個元件變量就會跟著消失... 這樣變量也就被刪除而釋放出記憶體 :)
那麼根據字典當中所說的使用方法, 但卻無法執行而頭痛不已呢??
在這裡提供兩種情況下解決的方法 :)
情況一 : 先請下載這個例子看看, 在場景上建立一個MC元件, 并以這個MC載入圖片或swf
点击浏览该文件是否無法執行這個onLoad部份呢??
loader.onLoad = function() {
trace("on load");
}
那麼跟著就教你們解決方法, 選擇此場景MC後打開ACTION PANEL後如圖:trace("on load");
}

只要增加 // , 這樣就可以解決了 :), 是不是很簡單呢??
修正例子 :
点击浏览该文件情況二 : 就是使用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");
修正例子 :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日
- 最近更新
