我正在为我的班级制作旋转木马画廊,但我们得到了一个用AS2编写的代码,并且必须将其转换为AS3。我有两个片段的问题:
// create the objects for the circular motion
for (var i:Number = 0; i < numberOfObjects; i++)
{
this.createEmptyMovieClip('object'+i, i);
this['object'+i].loadMovie('p'+(i+1)+'.jpg');
}
我将影片剪辑添加为对象,然后我想将它们用作:
// create the motion along the circular path
this.addEventListener(Event.ENTER_FRAME, function()
{
// loop over all the objects
for (var i:Number = 0; i < numberOfObjects; i++)
{
thisObj = this['object'+i];
placeObj(thisObj,i);
displayObj(thisObj);
}
})
当然我得到一个例外:
Scene 1, Layer 'actions', Frame 1, Line 85 1120: Access of undefined property thisObj.
我知道createEmptyMovieClip以及loadMovie不能在AS3中工作,我可能应该将MovieClip作为新的MovieClip,但是我仍然有办法解决这个问题。我会对任何建议表示感谢。
答案 0 :(得分:0)
在引入新变量之前,您需要应用 var 关键字。
更正你的as3代码:
var thisObj:Sprite = this['object'+i];