中是否存在连接问题
trace('robes_position_num_clicked')
当我点击第2项时,var index_clicked:int = myPositions.indexOf(e.target); // = Position num in array
var robes_position_num_clicked ="robes_position"+(index_clicked+1).toString();
trace (robes_position_num_clicked);
var traje1 = MovieClip(parent).robes_position1.currentLabel;
if ( MovieClip(parent).robes_position1.currentLabel==traje1 && MovieClip(parent).robes_position1.currentLabel!=null)
{ /*1*/ MovieClip(parent).robes_position2.gotoAndStop(traje1);
/*2*/ MovieClip(parent).robes_position_num_clicked.gotoAndStop(traje1);
MovieClip(parent).robes_position1.gotoAndStop(1);
}
会返回“robes_position2”,这是正确的&什么预期。
{{1}}
第一个“句子”/ * 1 * /执行预期的工作,
而句子/ * 2 * /应该是同义词,不会,并返回错误“一个术语未定义且没有属性”。
感谢您用法语说的灯光!
答案 0 :(得分:1)
您应该知道robes_position_num_clicked
这里只是一个String
,其中包含您的目标MovieClip
的名称,而不是MovieClip
本身的名称,所以这一行:
MovieClip(parent).robes_position_num_clicked.gotoAndStop(traje1);
应该给你一个错误。
因此,要使用其名称访问MovieClip
,您只需使用DisplayObjectContainer.getChildByName()
这样的功能:
MovieClip(parent.getChildByName(robes_position_num_clicked)).gotoAndStop(traje1);
你也可以这样做:
MovieClip(parent)[robes_position_num_clicked].gotoAndStop(traje1);
希望可以提供帮助。
答案 1 :(得分:0)
robes_position_num_clicked是一个字符串而不是MovieClip
“gotoAndStop”应与MovieClips一起使用,而不是字符串;
其次:“robes_position_num_clicked”是在当前MovieClip中定义的,不在父MovieCLip中,因此在父MovieClip中它将为null