AS3.0 OOP中的数组

时间:2011-09-10 20:41:49

标签: flash actionscript-3

我正在试图弄清楚如何在OOP AS3.0中使用数组。一直在寻找答案或一些教程,但无法找到它。也许你可以解释一下。

这就是我所拥有的:

Gallery.as文件:

package  {

    import flash.display.MovieClip;


    public class Gallery extends MovieClip {

        public var can:Number;

        public function Gallery() {


            can = 10;

            var impMyClass:Read = new Read(can);
            trace (impMyClass.myArray[0]);

        }

}

}

这里是Read.as文件:

package  {

    import flash.display.MovieClip;


    public class Read extends MovieClip {

        public var rezalt:Number = new Number;
        public var myArray:Array = new Array;

        public function Read(can:Number) {

            rezalt = can * 10 - 50 / 10;
            trace('Read-shi')


        myArray.push('Flash');                      


        }
    }
}   

到目前为止一切正常。

但是当我在Read.as文件中进行一些更改时:

package  {

    import flash.display.MovieClip;


    public class Read extends MovieClip {

        public var rezalt:Number = new Number;
        public var myArray:Array = new Array;

        public function Read(can:Number) {

            rezalt = can * 10 - 50 / 10;
            trace('Read-shi')
        }

        public function someFunct():void{

        myArray.push('Flash');                      


        }


    }
}   
一切都崩溃了。我应该如何将myArray的值放入主类文件(Gallery.as)?

3 个答案:

答案 0 :(得分:5)

您需要在上一版本的Read.as中运行“someFunct”函数,否则将不会填充Array。

    package  {

        import flash.display.MovieClip;


        public class Gallery extends MovieClip {

            public var can:Number;

            public function Gallery() {


                can = 10;

                var impMyClass:Read = new Read(can);
                impMyClass.someFunct();
                trace (impMyClass.myArray[0]);

            }

    }

}

答案 1 :(得分:0)

试试这个:

包{

import flash.display.MovieClip;


public class Read extends MovieClip {

    public var rezalt:Number = new Number;
    public var myArray:Array = new Array;

    public function Read(can:Number)**:Number** {

        rezalt = can * 10 - 50 / 10;
        trace('Read-shi')
    }

    public function someFunct():void{

    myArray.push('Flash');                      


    }


}

}

答案 2 :(得分:0)

你推错了:

您应该输入:

<强> myArray.push(闪光灯); * 迹(myArray.length); *