【发布时间】:2010-02-09 10:49:51
【问题描述】:
我正在尝试加载一个 swf 文件,该文件具有按钮皮肤作为图像(在 swf 文件的库中,我给出了导出属性“TickMark”)并使用 StyleManager.setStyleDeclaration 设置 flex 按钮的皮肤。
我收到诸如“TickMark() 上的参数计数不匹配”之类的错误。预期 2,得到 0。'
这就是我想要做的:
private function init():void
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,styleSWFLoaded);
loader.load(new URLRequest("styles.swf"),new LoaderContext(false,ApplicationDomain.currentDomain));
}
private function createStyle(styleName:String):void
{
var style:CSSStyleDeclaration = new CSSStyleDeclaration(styleName);
var cls:Class = ApplicationDomain.currentDomain.getDefinition(ss) as Class;
style.setStyle("upSkin",cls);
}
}
StyleManager.setStyleDeclaration(".buttonme",style,true);
}
当我将这种新样式 'buttonme' 应用到按钮时,出现以下错误:
ArgumentError: Error #1063: Argument count mismatch on TickMark(). Expected 2, got 0.
不知道为什么会发生这种情况,奇怪的是,当我嵌入相同的 swf 文件时,它可以工作,如下所示:
[Embed(source="styles.swf", symbol="Tick")]
private var GraphicClass:Class;
如果我在 setStyleDeclaration 中使用 GraphicClass 类,它可以工作......但基本上我想要它动态。
或者还有其他简单的方法可以动态地为弹性按钮设置皮肤(图像)?
【问题讨论】:
标签: apache-flex skinning