Actionscript 3 在循环中为每个maxvalue添加X个addChild数量
作业是根据测验的分数繁殖几根浅色和深色羽毛。浅色羽毛代表正确的点(Actionscript 3 在循环中为每个maxvalue添加X个addChild数量,actionscript-3,flash,Actionscript 3,Flash,作业是根据测验的分数繁殖几根浅色和深色羽毛。浅色羽毛代表正确的点(浅色羽毛),深色羽毛代表错误的点(深色羽毛)(每个点都被跟踪)。所有的羽毛都应该排成一行,这意味着首先是浅色羽毛,然后是深色羽毛。我弄明白了测验的动态性,我在这里发布的功能只适用于当他们按下结束测验时 var light_feather:LightFeather = new LightFeather(); var dark_feather:DarkFeather = new DarkFeather(); var good_ans
浅色羽毛
),深色羽毛代表错误的点(深色羽毛
)(每个点都被跟踪)。所有的羽毛都应该排成一行,这意味着首先是浅色羽毛,然后是深色羽毛。我弄明白了测验的动态性,我在这里发布的功能只适用于当他们按下结束测验时
var light_feather:LightFeather = new LightFeather();
var dark_feather:DarkFeather = new DarkFeather();
var good_answers:uint = 0;
var bad_answers:uint = 0;
function avsluttFunc (evt:MouseEvent)
{
var sum_LightFeatherX:Number = 0;
for (var i = 0; i < good_answers; i++) {
addChild(light_feather);
light_feather.x += 12 + (i*16);
light_feather.y = 0;
trace("Lys X-verdi: " + light_feather.x);
sum_LightFeatherX += Number(light_feather.x);
return sum_LightFeatherX;
}
trace(sum_LightFeatherX);
dark_feather.x += sum_LightFeatherX;
for (var j = 1; j <= bad_answers; j++) {
addChild(dark_feather);
dark_feather.x += 12 + (j*16);
dark_feather.y = 0;
trace("Mørk X-verdi: " + dark_feather.x);
}
/*
//Resetter poengsummen
good_answers = 0;
bad_answers = 0;
*/
}
var light_feather:LightFeather=new LightFeather();
var dark_feather:DarkFeather=新的DarkFeather();
var good_答案:uint=0;
var bad_回答:uint=0;
函数avsluttFunc(evt:MouseEvent)
{
var sum_LightFeatherX:Number=0;
for(var i=0;i 对于(var j=1;j您可以只使用一个for循环来完成所需的操作,请看:
var good_answers:uint = 2;
var bad_answers:uint = 4;
function avsluttFunc(evt:MouseEvent)
{
for (var i:int = 0; i < good_answers + bad_answers; i++) {
var feather:DisplayObject = i < good_answers ? new LightFeather() : new DarkFeather();
feather.x += 12 + i * (feather.width + 1);
feather.y = 0;
addChild(feather);
}
}
然后,要将其从后台删除,您可以执行以下操作,例如:
for (var i:int = 0; i < feathers.length; i++) {
var feather:DisplayObject = DisplayObject(feathers[i]);
feather.parent.removeChild(feather);
}
for(变量i:int=0;i
希望这能有所帮助。我尝试使用更可读的名称简化您的代码。谢谢!这正是我想要的!快速问题:我发现当我多次进行测验时,羽毛会从上次测验中残留下来。当我按下再次开始测验的按钮时,您有什么方法删除它们吗?@ripsrpas您可以添加所有对象吗到阵列,然后您可以在阵列上使用for循环来删除它们。@akamozo:我已经对其进行了一些修补,但我只能自己从阵列中删除对象。我似乎找不到方法将其从舞台上删除。您如何设置它?@akamozo Brilliant,只是Brilliant!谢谢:)效果很好
for (var i:int = 0; i < feathers.length; i++) {
var feather:DisplayObject = DisplayObject(feathers[i]);
feather.parent.removeChild(feather);
}