我正在试图弄清楚如何在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)?
答案 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); *