ActionScript 3相同的符号不同的实例名称。类

时间:2014-03-01 18:19:44

标签: actionscript-3

所以我得到一个名为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; 

        }
    }
}

1 个答案:

答案 0 :(得分:0)

使用MovieClip(root).ball1MovieClip(root).ball2来获取您从时间轴中获取的内容。现在,this引用了类,因此仅通过将它们引用到它们的实例名称就无法工作。