我正在尝试使用数组循环生成一个按钮,但我无法使图标样式和样式名称起作用:(
for (var x:int = 0; x < smileys.length; x++ ) {
var emoticon:Button = new Button();
var label:String = smileys[x][0];
emoticon.width = 24; emoticon.height = 24;
emoticon.x = positionX; emoticon.y = 0;
emoticon.styleName('buttonImg'); // doesn't work...
emoticon.setStyle("icon", "@Embed(source='smileys/"+smileys[x][0]+".png')"); // doesn't work
emoticonsGroup.addChild(emoticon);
positionX+= 24;
}
我也尝试在循环中插入它,但它既不起作用:
[Embed(source="smileys/"+smileys[x][0]+".png")] // fb doesn't like that
var buttonIcon:Class;
emoticon.setStyle("icon", buttonIcon);
答案 0 :(得分:1)
您不能将变量放入嵌入中,因为它是编译器的指令,而不是运行时解析。现在,您可以
Image
或Loader
并动态加载按钮内的图像emoticon.setStyle("icon", getDefinitionByName(smileys[x][0]))
,其中smileys[x][0]
是Flash库中笑脸的链接名称。