그래서 키보드 입력을 원하는 곳에서 플래시 프로젝트를 진행하고 있습니다. 무대에는 회전하고 회전 방향을 결정해야하는 위에서 본 인스턴스 "차"가 있습니다. 이것은 내가 AS3에서 지금까지 조립 한 것입니다 : 그러나AS3에서 키보드 입력 문제.
//Required stuff
import flash.ui.Keyboard;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.display.Stage;
import flash.display.MovieClip;
Car.addEventListener(Event.ENTER_FRAME, this.RunGame);
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
//Variables
var keys:Array = []
var vDrive:Number = 3; //Car's current base speed
var vx:Number = 0; //Speed along x axis
var vy:Number = 0; //Speed along y axis
var vMax:Number = 30; //Top speed
var vRot:Number = 3; //Rotation speed
var vAcc:Number = 1.1; //Factor for acceleration
var vDeAcc:Number = 0.90; //Factor for de-acceleration
//Game Loop
RunGame();
function RunGame():void
{
// Drive forwards
if (keys[Keyboard.UP])
{
if (vDrive < vMax)
vDrive += vAcc;
}
// Reverse
if (keys[Keyboard.DOWN])
{
if (vDrive > vMax)
vDrive *= vAcc;
}
// Turn right
if (keys[Keyboard.RIGHT])
{
Car.rotation += vRot;
}
// Turn left venstre
if (keys[Keyboard.LEFT])
{
Car.rotation -= vRot;
}
//Movement
// Friction
vDrive *= vDeAcc;
//Calculating movement vector
vx = vDrive * Math.cos(toRad(Car.rotation));
vy = vDrive * Math.sin(toRad(Car.rotation));
//Update car position
Car.x -= vx ;
Car.y -= vy;
}
, 나는이 프로그램을 실행할 때, 화살표 키를 아무것도하지 않는 것. 는 또한 모두 "onKeyDown에"와 "onKeyUp에"에 대한 다음과 같은 컴파일러 경고를 얻을 :
마이그레이션 문제 : onKeyDown에 이벤트 핸들러 ActionScript 3.0에서는 런타임에 Flash Player에 의해 자동적으로 를 트리거되지 않습니다. 당신은 먼저 그냥 오류가 callback_handler이 정의되지 않은 말을하게 무엇을 제안 추가하려고하여 addEventListener ('를 keyDown', callback_handler)를 사용하여 이벤트
에 대해이 핸들러를 등록해야합니다. 키보드 입력 작업을 수행하는 방법을 알아 내려고했습니다. 누구 알아?