我有一个代码,在随机分配的皮肤名称皮肤的数组按钮
private var tiles:Array = [
{"item":"Skin1", "chance":70 },
{"item":"Skin2", "chance":5 },
{"item":"Skin3", "chance":10 },
{"item":"Skin4", "chance":10 },
{"item":"Skin5", "chance":5 }
];
public function pickRandomByChance(options:Array):Object{
var copy:Array=[];
for (var i:int = 0; i < options.length; i++) {
copy.push({ "item":options[i].item, "chance":options[i].chance });
}
var range:Number = 0;
for (i = 0; i < copy.length; i++){
range += copy[i].chance;
if (i > 0)
copy[i].chance += copy[i - 1].chance;
}
var pick:Number = Math.floor(Math.random() * range);
for (i = 0; i < copy.length; i++){
if (pick <= copy[i].chance)
return copy[i];
}
return null;
}
我的问题是我如何能分配这些皮肤使用的setStyle我的按钮中的一个?
button1.setStyle("skinClass", pickRandomByChance(tiles).item);
我试图用上面的代码,但我得到一个错误#1009:无法访问空对象引用的属性或方法。
我不使用FL UI组件真的想知道,但我不要认为有“skinClass”属性。尝试使用“upSkin”或“overSkin”或“downSkin”或“selectedUpSkin”等 – BadFeelingAboutThis