我是Flash新手,当我尝试为其设置属性时,我不确定为什么我的新行星对象被视为NULL。 也许我错过了某种初始化方法,我应该新建一个星球,而不是我声明我的变量?
public class main extends Sprite {
private var game_container:game_container_mc;
private var left,up,right,down:Boolean;
var pt:Point = new Point(303,301);
var myArray:Array = [pt,pt,pt];
private var plan:planet = new planet();
public function main() {
plan.loc.x = 3;
plan.loc.y = 3;
//...etc, error is here^
错误:“TypeError:错误#1009:无法访问空对象引用的属性或方法。 在main()“
干杯
答案 0 :(得分:0)
Loc也是一个对象。
public function main() {
var Po:Point = new Point();
Po.x=3;
Po.y=3;
plan.loc=Po;
答案 1 :(得分:0)
package {
import flash.display.Sprite;
import flash.geom.Point;
import Math;
public class planet extends Sprite {
private var kind:int = 0;
private var mass:Number;
private var atmosphere:int;
public var loc:Point;
在这里你可以看到loc是null&没有初始化。所以要么在这里设置它。
public var loc:Point = new Point();
或稍后在主要功能中:
var locObj:Point = new Point();
locObj.x=3;
locObj.y=3;
plan.loc=locObj;