我正在忙着编写一个游戏,但我已经陷入困境。
我之前能够让游戏完美运行,但突然间它停止了工作。
以下是给出错误的脚本部分:
var colorTransform:ColorTransform;
var player:MovieClip;
var kaas:MovieClip;
var ground:MovieClip;
var speed:Number;
var right:Boolean = false;
var left:Boolean = false;
var up:Boolean = false;
var down:Boolean = false;
var isWalking:Boolean = false;
var isJumping:Boolean = false;
var jumpSpeedLimit:int = 14;
var jumpSpeed:Number = jumpSpeedLimit;
// END
public function main()
{
speed = 5;
kaas = new Kaas();
kaas.y = 300;
kaas.x = 300;
addChild(kaas);
ground = new Ground();
ground.y = stage.stageHeight;
ground.x = stage.stageWidth / 2;
addChild(ground);
player = new Player();
player.x = stage.stageWidth / 2 - player.width;
player.y = stage.stageHeight - 45;
player.width = 50;
player.height = 50;
addChild(player);
player.gotoAndStop("idle");
//event listeners.
stage.addEventListener(KeyboardEvent.KEY_UP, keyupCheck);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydownCheck);
player.addEventListener(Event.ENTER_FRAME, movePlayer);
}
我希望有人可以帮助我。
这是我收到的错误消息:
typeerror error #1009 cannot access a property or method of a null object reference.at main()
提前致谢, 雷米
答案 0 :(得分:2)
错误意味着您正在尝试访问属性,但该对象尚未定向/不存在/当前为空。
我不是100%确定你在main()中使用的哪个类可能没有准备好,但是一个非常常见的是舞台,它是一个空对象,显示对象已添加到舞台中。 在这种情况下,在main()的最后一部分尝试这样的事情:
//event listeners.
this.addEventListener(Event.ADDED_TO_STAGE,stageReady);
}
private function stageReady(event:Event):void{
stage.addEventListener(KeyboardEvent.KEY_UP, keyupCheck);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keydownCheck);
player.addEventListener(Event.ENTER_FRAME, movePlayer);
}