2016-10-12 49 views
0

Processing JSを使用して宇宙船を描いたプログラムを作成しようとしていますが、ユーザーは左右の矢印を使ってそれを制御し、zを加速して加速させることができます。私はそう処理中のJSがキーボード入力に反応しない

keyIsPressed = function(){ 
    if(keyCode === 90){ 
     println("OK"); 
     ship.accelerate(); 
    } 
}; 

ようkeyIsPressed機能を使用してきたが、船は動かないと私はそれが機能を活性化してはいけませんzを押したときに何もprintln();によってで印刷されません取得します。誰もがこれを修正する方法を知っていますか?ここにフルコードhttps://www.khanacademy.org/computer-programming/spin-off-of-project-asteroids-spaceship/4635808988463104へのリンクがあります。

答えて

0

基本的に、keyIsPressedは、ユーザーがキーボード上の任意のボタンを押しているときに真となるブール値であり、キーが押されていないときには偽である。基本的には、

var draw = function(){ 
    if (keyIsPressed && keyCode === 90){ 
     ship.accelerate(); 
    } 
} 
0

keyIsPressed変数は、キーが押されるたびにtrueboolean値です。

関数を使用する場合は、keyPressed()関数を使用し、draw()の中に指定しないでください。それはdraw()と同じレベルでなければなりません。

また、ship.accerate()を使用しましたが、これは機能ではありません。あなたはおそらくship.accelerate()を意味しました。

一緒にそのすべてを置く、それは次のようになります。

draw= function() { 
    background(161, 159, 159); 

    ship.update(); 
    ship.display(); 
    println(ship.position.x); 
}; 

keyPressed = function(){ 
    if(keyCode === 90){ 
     ship.accelerate(); 
    } 
}; 
+0

おかげで、私はドント私はそれを逃した方法を知っています。 – Serenity

関連する問題