【发布时间】:2014-01-17 00:58:27
【问题描述】:
我刚开始学习动作脚本,为了帮助习惯语法,我正在挑战自己制作一个简单的游戏,你是一个射击落下的方块的圆圈。
由于某种原因,每次我尝试添加键盘事件侦听器时,游戏都无法运行。
这是我的播放器文件。
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class Player extends Sprite
{
//Variables
private var playerRadius:Number = 50;
private var playerX:Number = 5;
private var playerY:Number = 5;
private var speed:Number = 0;
private var xvel:Number = 0;
public function Player()
{
init();
//Drawing
drawPlayer();
//Event Listeners
this.addEventListener(Event.ENTER_FRAME, updatePlayer);
stage.addEventListener(KeyboardEvent.KEY_DOWN, controlPlayer);
}
//Update
public function updatePlayer(event:Event):void{
this.x ++;
}
//Draw
private function drawPlayer():void{
graphics.beginFill(0xFF0000);
graphics.drawCircle(10,10,50);
graphics.endFill();
}
//Control
public function controlPlayer(event:KeyboardEvent):void{
if (event.keyCode == Keyboard.RIGHT) {
speed = 5;
}
}
}
}
使用这段代码我只会得到一个白屏,但如果我注释掉
stage.addEventListener(KeyboardEvent.KEY_DOWN, controlPlayer);
它有效,但我无法控制播放器。
我将不胜感激!
【问题讨论】:
标签: events actionscript listener