我现在正在使用flash cc为Android创建一个Air。 在for循环中,我这样写。 (这只是整体的一部分)
var six1=Object(root)["mc_"+String(mcs)+String(mcb)].currentFrame
var six2=Object(root)["mc_"+String(mcs+1)+String(mcb)].currentFrame
var six3=Object(root)["mc_"+String(mcs+2)+String(mcb)].currentFrame
var six4=Object(root)["mc_"+String(mcs+3)+String(mcb)].currentFrame
var six5=Object(root)["mc_"+String(mcs+4)+String(mcb)].currentFrame
var six6=Object(root)["mc_"+String(mcs+5)+String(mcb)].currentFrame
我总共有36个动画片段:mc_11,mc_12 ... mc_16到mc_61,mc_62 ... mc_66 当for循环中的变量“mcs”和“mcb”分别为6和6时,则在第6行中,movieclip名称将为[mc_611],并且它将是未定义的,并弹出错误。 但是,如果我只是希望“six6”的结果未定义并且没有错误弹出,我该怎么办? (因为未定义的“six6”不会影响以下代码) 。 请帮忙!谢谢你!!!
答案 0 :(得分:0)
也许你可以在访问currrentFrame属性之前尝试测试你的对象是否存在
例如:
var six6 = Object(root)["mc_"+String(mcs+5)+String(mcb)] ? Object(root)["mc_"+String(mcs+5)+String(mcb)].currentFrame : udefined;</code>
或:
var six6 = undefined;
if( Object(root)["mc_"+String(mcs+5)+String(mcb)] )
{
six6 = Object(root)["mc_"+String(mcs+5)+String(mcb)].currentFrame;
}