2017-09-21 13 views
0

'e'キーを押したときに描画される線の色とサイズが変わる単純な描画プログラムを作ろうとしています。しかし、keyPressedを使用しようとすると、1回だけ実行されるため、行全体を変更する代わりに1つの青い点が描画されます。基本的に私が知る必要があることは、キーが押されたときに何かを起こす方法です。これは私がこれまで持っているものです:p5.jsでキーが押されているときに何かを起こす方法

あなたはちょうどこのように、 draw()機能から確認できれば、
function keyTyped() { 
     if (key === 'e') { 
     if (mouseY < 417) { 
      fill(0,0,255,100); 
      ellipse(mouseX,mouseY,5,5); 
     } 
     } 
    } 

代わりの

function draw() { 
    if (mouseY < 417) { 
     noStroke(); 
     fill(0,100); 
     ellipse(mouseX,mouseY,20,20); 
    } 
    } 
+0

これは分かりましたか? –

+0

@Kevin Workman最後にすべてが解決しました。助けてくれてありがとう。 –

+0

問題ありません。それがあなたを助けた場合、受け入れられたものとしてマークすることができます。 –

答えて

0

function draw() { 
    if (keyIsPressed && key == 'e') { 
    noStroke(); 
    fill(0,100); 
    ellipse(mouseX,mouseY,20,20); 
    } 
} 

それとも可能性キーが押されているかどうかを追跡する変数を作成します。 keyPressed()関数からtrueに設定し、keyReleased()関数のfalseに設定します。次に、draw()関数の変数をチェックします。

さらに詳しい情報はthe referenceにあります。

+0

これは間違いなく役立ちますが、まだ半透明の黒い円を描いています:http://i66.tinypic.com/2d1n668.png - 何か提案がありますか? –

+0

@KatKこれはまさに私がこのコードが期待するものです。何を期待していたのですか?古いフレームを消去したい場合は、 'draw()'の上部にある 'background()'関数を呼び出す必要があることに注意してください。 –

+0

私はバックグラウンドを呼び出すと、マウスをたどることなく、マウスの後ろに青い点が表示されます。 –

関連する問題