我想知道getMCRef().unloadMovie()
OL 4.9 中的等价物
我知道getDisplayObject()
给出的显示对象会getDisplayObject.unload()
与此类似getMCRef().unloadMovie()
吗?
我想知道getMCRef().unloadMovie()
OL 4.9 中的等价物
我知道getDisplayObject()
给出的显示对象会getDisplayObject.unload()
与此类似getMCRef().unloadMovie()
吗?
OpenLaszlo视图类有一个 unload() 函数:
视图.卸载();卸载使用 setSource 或 source= 属性加载的媒体。
<canvas>
<view id="redBox" width="150" height="150">
<method name="loadSWF">
this.setSource('logo.swf');
</method>
<method name="unloadSWF">
this.unload();
</method>
</view>
<button x="200" text="Load SWF" onclick="redBox.loadSWF()"/>
<button x="200" y="40" text="Unload SWF" onclick="redBox.unloadSWF()"/>
</canvas>
如果您对如何加载资源感兴趣,请查看 LzSprite.as SWF9 内核文件的 setSource 函数:
/** setSource( String:url )
o Loads and displays media from the specified url
o Uses the resourceload callback method when the resource finishes loading
*/
public function setSource (url:String, cache:String = null, headers:String = null, filetype:String = null) :void {
if (url == null || url == 'null') {
return;
}
var loadurl:String = getLoadURL(url, cache, headers);
if (getFileType(url, filetype) == "mp3") {
// unload previous image-resource and sound-resource
this.unload();
this.__isinternalresource = false;
this.resource = url;
this.loadSound(loadurl);
} else {
if (this.isaudio) {
// unload previous sound-resource
this.unloadSound();
}
if (! imgLoader) {
if (this.resourceContainer) {
// unload previous internal image-resource
this.unload();
}
imgLoader = new Loader();
imgLoader.mouseEnabled = false;// @devnote: see LPP-7022
imgLoader.mouseChildren = false;
this.resourceContainer = imgLoader;
this.addChildAt(imgLoader, IMGDEPTH);
this.attachLoaderEvents(imgLoader.contentLoaderInfo);
} else {
//TODO [20080911 anba] cancel current load?
// imgLoader.close();
}
this.__isinternalresource = false;
this.resource = url;
var res:Loader = this.imgLoader;
if (res) {
res.scaleX = res.scaleY = 1.0;
}
imgLoader.load(new URLRequest(loadurl), LzSprite.loaderContext);
}
}
在 setSource() 中,会创建flash.display.Loader类的一个实例:imgLoader = new Loader();
有时最好知道 LFC 内部使用了哪些 ActionScript 类,因为如果需要,您可以扩展 OpenLaszlo 的功能。