【发布时间】:2012-07-04 20:49:29
【问题描述】:
我正在构建一组 Flash 组件,这些组件能够将组件的外观替换为库中的另一个组件。
目前,我可以在运行应用程序后访问库,但不能在实时预览期间访问,我想知道组件在实时预览模式下运行时是否可以访问库(在您可以在舞台周围拖动组件并在“组件参数”窗口中更改其属性)
这是一个简化的代码,它只是查看是否存在指定名称的符号,然后将其实例化并将其添加为子项。
package
{
import fl.core.UIComponent;
import flash.display.MovieClip;
import flash.system.ApplicationDomain;
/**
* ...
* @author Roy Lazarovich
*/
public class CompTest extends UIComponent
{
private var customfile :String;
public function CompTest()
{
}
override protected function configUI():void
{
}
override protected function draw():void
{
super.draw();
}
private function setCustomFile():void
{
if (ApplicationDomain.currentDomain.hasDefinition(customfile))
{
var c:Class = Class(ApplicationDomain.currentDomain.getDefinition(customfile));
var mc:MovieClip = new c();
addChild(mc);
}
}
[Inspectable(name = "_Custom File", defaultValue = "")]
public function set _customfile(value:String):void
{
customfile = value;
setCustomFile();
drawNow();
}
}
}
谢谢!
【问题讨论】:
-
您的路径中是否包含库?
-
您的意思是在组件的路径中包含客户端库的位置吗?我不确定这是否完全可行——我们有几百个使用我们组件的客户端库。还是您的意思是在 client .fla 中包含客户端路径??
标签: actionscript-3 flash actionscript components