package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.ui.Keyboard;
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
public class supportForce extends MovieClip
{
public function supportForce()
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, onDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onUp);
stage.addEventListener(Event.ENTER_FRAME, keyCheck);
}
private function onUp(e:KeyboardEvent):void
{
_keyDownStatus[e.keyCode] = false;
}
private function onDown(e:KeyboardEvent):void
{
_keyDownStatus[e.keyCode] = true;
}
private function keyCheck(event:Event)
{
if (_keyDownStatus[90])
{
var GreenLight:Projectile1 = new Projectile1();
stage.addChild(GreenLight);
GreenLight.x = Player2Child.x;
GreenLight.y = Player2Child.y;
}
GreenLight.x -= defaultSpeed;
}
}
}
因此,这里的投射物是Projectile1,它在keyCheck函数中声明为GreenLight。因此,在相同的功能(ENTER.FRAME功能)中,GreenLight应该移动到左边。这不会发生,并且还有一个错误,指出TypeError:错误#1009:无法访问空对象引用的属性或方法。出现supportForce/keyCheck()时出现 。先谢谢你。投射物不移动,因为它们应该是
它可以工作,但我只能启动一个GreenLight,之后什么都不显示。 – InfiniteParadox 2014-10-11 11:26:09
@Dust你是说当mousedown时每个框架上都会出现一个新的Projectile1? – Pan 2014-10-11 11:38:02
不好意思提前它,但是。我的错。 – InfiniteParadox 2014-10-11 11:44:18