一篇翻譯的文章,來(lái)自 The Kiwi Project ,這種方法很有用,但是唯一的問(wèn)題就是,在加載皮膚的過(guò)程中,用戶等待的問(wèn)題。如果皮膚文件比較大,沒(méi)有加載上來(lái)之前,程序可以說(shuō)是無(wú)反應(yīng)的,這樣需要我們以某種方式提醒用戶當(dāng)前程序的工作。
public class Wrapper extends Sprite { [Embed(source="flex_skins.swf",symbol="RadioButton_upIcon")] public var rbUpSkin: Class; [Embed(source="flex_skins.swf",symbol="RadioButton_downIcon")] public var rbDownSkin: Class; [Embed(source="flex_skins.swf",symbol="RadioButton_disabledIcon")] public var rbDisabledSkin: Class; [Embed(source="flex_skins.swf",symbol="RadioButton_overIcon")] public var rbOverSkin: Class; } } 譯者注:上面代碼需要用 mxmlc 編譯,不用使用 Flex Builder 去建項(xiàng)目。
request = new URLRequest(swfLib); var context:LoaderContext = new LoaderContext(); context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain); loader.load(request, context);
第四步:從加載的 SWF 中生成類(lèi),然后實(shí)例化 var wrapperClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class; var wrapper:Object = new wrapperClass();