如何解决for() 循环不重复 - Extendscript After Effects
我的 for 循环不会重复。说到循环,我是个菜鸟,希望得到任何帮助。
我有一个下拉列表,用户可以在其中选择一个数字 (1-10)。在选择时,我的脚本会生成许多应用了滑块效果的文本图层(这部分正在工作),然后将表达式应用于所选图层的动画师,该动画师喜欢生成控制图层的滑块的关键帧值。
编辑
我开始更好地理解循环,因为循环是重复的(感谢@CherryDT)。 我想出了以下解决方案,我的执行可能会有一点不足,并且它没有完全返回我需要的东西。
希望得到任何指点。
这是我的代码(如果下拉选择设置为 3)。
startRangeExp.expression;
var key = [];
var x = "if(numKeys > 2){\n" +
"if (time < key(2).time){\n" +
"key1;\n" ;
var y = [];
var z = "}\n" +
"}else{\n" +
"key1;\n" +
"};\n" ;
var expressionStart ='';
var expressionSecondPart ='';
var expressionThirdPart ='';
var expressionEnd ='';
for(var i = 1; i <=pal.grp.groupFive.keyDrop.selection.index; i++){
key[i] = "key"+i+ "= thisComp.layer('" +myLayers[0].name+ '_key_'+i + "').effect('Slider Control')('Slider').value;\n";
y[i] = "} else if (time < key("+i+").time){\n" +
"key"+i+";\n";
expressionStart += key[i];
expressionSecondPart = x;
expressionThirdPart += y[i];
expressionEnd = z;
startRangeExp.expression = expressionStart + expressionSecondPart + expressionThirdPart + expressionEnd;
}
返回这个
key1= thisComp.layer('Text-Layer-Name_1_key_1').effect('Slider Control')('Slider').value;
key2= thisComp.layer('Text-Layer-Name_1_key_2').effect('Slider Control')('Slider').value;
key3= thisComp.layer('Text-Layer-Name_1_key_3').effect('Slider Control')('Slider').value;
if(numKeys > 2){
if (time < key(2).time){
key1;
} else if (time < key(1).time){
key1;
} else if (time < key(2).time){
key2;
} else if (time < key(3).time){
key3;
}
}else{
key1;
};
期望的回报看起来像这样
key1 = thisComp.layer('Text-Layer-Name_1_key_1').effect('Slider Control')('Slider');
key2 = thisComp.layer('Text-Layer-Name_1_key_1').effect('Slider Control')('Slider');
key3 = thisComp.layer('Text-Layer-Name_1_key_1').effect('Slider Control')('Slider');
if(numKeys > 2){
if (time < key(2).time){
key1;
}else if (time < key(3).time){
key2;
}else{
key3;
}
}else{
key1;
};
关于我应该如何编辑代码以获得预期结果的任何建议?
干杯, J
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。