问题描述
我的库中有一个名为 myRocket 的精灵,但它不会显示。
我将我的精灵制作为影片剪辑,然后将其从实际页面中删除,因此它就在库中。我以为使用此代码,一旦我启动游戏就会出现精灵,但它没有。
import flash.display.MovieClip;
stop() ;
removeChild(myButton);
var myReturn:Return=new Return();
addChild(myReturn);
myReturn.x=390;
myReturn.y=10;
myReturn.addEventListener(MouseEvent.CLICK,return1Function);
var up:Boolean;
var down:Boolean;
var left:Boolean;
var right:Boolean;
var speed:int;
function return1Function(evt:MouseEvent):void{
gotoAndStop("menu");
}
var myRocket:MovieClip;
addChild(myRocket);
myRocket.x=200;
myRocket.y=150;
function KeyboardDemo() {
myRocket.x = 200;
myRocket.y = 100;
addChild(myRocket);
stage.addEventListener(KeyboardEvent.KEY_DOWN,keypressedDown);
}
function keypressedDown(event:KeyboardEvent):void {
var key:uint = event.keyCode;
var step:uint = 5
switch (key) {
case Keyboard.LEFT :
myRocket.x -= step;
break;
case Keyboard.RIGHT :
myRocket.x += step;
break;
case Keyboard.UP :
myRocket.y -= step;
break;
case Keyboard.DOWN :
myRocket.y += step;
break;
}
}
解决方法
您需要在将对象放置到舞台之前初始化。您只在“var myRocket:MovieClip;”行声明了一个变量。相反,它至少应该(不确定你有什么逻辑)像上面一样,“返回”不管它是什么:var myRocket:MovieClip=new Rocket();
这里的“Rocket”是精灵的库名称。