所以我得到一个名为ball的符号,它连接到一个名为Ball的类。我在游戏中放了两个球(不是通过代码)并用作实例名称ball1,ball2。
问题是我无法引用他们的实例名称,因为代码在一个类而不是框架中。我可以以相同的方式移动球。但是我不能通过使用他们的实例来使它们以不同的方式移动name.Unless我为第二个球创建了另一个类/符号,这是一种浪费,因为球看起来相同,每个类中只有1-2行代码会发生变化。
那么如何在不使用不同符号/类的情况下使其工作?我可以引用它们的实例名称,以使它们以不同的方式移动,尽管它们是相同的符号/类吗?
这是不起作用的代码:
package
{
import flash.display.MovieClip;
import flash.events.*;
public class Ball extends MovieClip
{
public function Ball():void
{
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function enterFrameHandler(e:Event):void
{
ball1.x += 2; //ball1 would fly right
ball2.y += 2; // while ball2 would fly down but it doesn't work
}
}
}
这是可以工作的代码并以同样的方式移动两个球。
package
{
import flash.display.MovieClip;
import flash.events.*;
public class Ball extends MovieClip
{
public function Ball():void
{
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function enterFrameHandler(e:Event):void
{
this.x += 2;
this.y += 2;
}
}
}
答案 0 :(得分:0)
使用MovieClip(root).ball1
和MovieClip(root).ball2
来获取您从时间轴中获取的内容。现在,this
引用了类,因此仅通过将它们引用到它们的实例名称就无法工作。