checkKeyDown
最初の関数と2 番目の関数の 2 つの関数を呼び出す 2 つのイベント リスナーがありcheckKeyUp
ます。
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.ui.Keyboard;
public class Code extends MovieClip {
var charSpeed:int = 0;
var velocity:int = 0;
var gravity:Number = 1;
var Jump:Boolean = false;
public function startGame(){
stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, checkKeyUp);
}
public function Code() {
// constructor code
}
function checkKeyDown(evt:KeyboardEvent){
if (evt.keyCode == Keyboard.LEFT){
charSpeed -= 10;
}
if (evt.keyCode == Keyboard.RIGHT){
charSpeed += 10;
}
if (evt.keyCode == Keyboard.DOWN){
if(!Jump){
velocity -= 14;
Jump = true;
}
}
function checkKeyUp(e:KeyboardEvent){
if (e.keyCode == Keyboard.LEFT){
charSpeed = 0;
}
if (e.keyCode == Keyboard.RIGHT){
charSpeed = 0;
}
}
最初にコードを入力したとき、checkKeyDown
最初に関数を実行しました。実行すると、正常に機能しました (もちろん、checkKeyUp イベント リスナーなしで)。この後、イベントリスナーとcheckKeyUp関数をコードに追加したのですが、「1120: 未定義プロパティcheckKeyUpへのアクセス」というエラーが出てしまいました。checkKeyDown 関数が正常に機能するため、なぜこれが発生したのかわかりません。このエラーが発生する理由について何か助けを得ることができれば、それは素晴らしいことです。