我的项目中有Error #1009
,它让我生气。
我在null对象引用中的问题。特别是在阵列中。我将影片剪辑声明为数组。但结果是空的。我的影片剪辑(实例)的名称与其匹配。
这是我的完整代码:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.trace.Trace;
import fl.transitions.Tween;
import fl.transitions.easing.*;
public class Level extends MovieClip {
public var dragArray:Array = [obj1, obj2;
public var obstacleArray:Array = [obs_obj];
public var matchArray:Array = [obj1target, obj2target];
public var currentClip:MovieClip;
public var startX:Number;
public var startY:Number;
public function Level() {
// constructor code
trace(dragArray);
var tween:Tween = new Tween (tutorial,'x',Bounce.easeOut,918.9,720,0.7,true)
var dragGame:DragGame = new DragGame(stage, dragArray, matchArray);
dragGame.addEventListener(DragGame.MATCH_MADE, onMatch);
dragGame.addEventListener(DragGame.NO_MATCH, onFlub);
dragGame.addEventListener(DragGame.ALL_DONE, onDone);
function onMatch(event:Event):void {
//var matchSound:Sound = new MatchSound();
//matchSound.play();
trace("Match");
}
function onFlub(event:Event):void {
//var flubSound:Sound = new FlubSound();
//flubSound.play();
trace("Flub");
}
function onDone(event:Event):void {
}
}
}
}
我无法调用DragGame()
,我在我的数组中使用了跟踪,它只显示(",")
。我假设我的数组为空。
有人可以帮助我吗?
答案 0 :(得分:0)
public var dragArray:Array = [obj1, obj2;
那里有一个错字。你忘记了结束括号。 (]
)。
public var dragArray:Array = [obj1, obj2];
结束括号是实例化语法的一部分。添加它,你应该很高兴。
虽然看起来并没有实际实例化obj1和obj2,但是你会遇到问题,你的数组中只有两个null
对象。