| 修正loadMovie()中使用onLoad的問題 |
|
修正loadMovie()中使用onLoad的問題 |
| 作者:佚名 来源:闪吧 作者: Super-Tomato 更新:2007-1-13 20:49:02 错误报告 我要投稿 |
今天就來談一下如何修正一下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");
修正例子 :
点击浏览该文件
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |