2017-11-18 5 views
0

処理中に私のコードに助けが必要です。私は難しいすべて思えるためので... :(マウスクリック後の画像が消え、新しいランダムな位置に表示されます。新しいポジションはどうやって確認できますか? (処理中)

私の目標は、画像をクリックして...

  • あり、それは実際に短いと簡単にコードですが、私はプログラミングで初心者です。
  • マウスをクリックすると、画像が消えて新しいランダムな位置に表示されます。
  • 新しいランダムな位置で画像をクリックできるはずです。新しいランダムな位置に現れるなど。

いくつかのコードを書きましたが(下記参照)、正しく動作しません。誰かが私の手助けをすることができれば、本当に感謝します。私のコードに何が間違っていますか?事前にどうもありがとうございました! :)ここで

が私のコードです:

PImage pic; 

// Declare variables for the picture 
float pic_x; 
float pic_y; 
float pic_r = 100; 

float pic_x_new = random(0, 400); 
float pic_y_new = random(0, 400); 

boolean mouseOverPic; 

void setup(){ 
size(500,500); 
background(0,100,0); 

//loading the picture 
pic = loadImage("pic.png"); 
image(pic, pic_x, pic_y, pic_r, pic_r); 
} 


void draw(){ 

mouseOverPic = mouseX <= pic.width 
&& mouseX >= pic_x 
&& mouseY <= pic.height 
&& mouseY >= pic_y; 

if (mousePressed && mouseOverPic) { 
    background(100); 
    image(pic, pic_x_new, pic_y_new, pic_r, pic_r); 
} 
} 

答えて

1

あなたはあなたのコードが正常に動作しないと言ってより具体的にしてみていただけますか? debugging your codeを試して問題を絞り込んだことがありますか?どのコード行が期待どおりに動作しますか?

クリックしたときに画像を描画するだけなので、コードは意味がありません。それはあなたがしたいことのようには聞こえません。衝突検出コードが正しくありません。いくつかのサンプル値を使ってコードを実行して、それが何をしているのかを正確に見てみてください。処理可能なhereの衝突検出に関するチュートリアルを作成しました。

これを修正するには、実際にはbreak your problem down into smaller piecesが必要で、一度に1つずつ取り出してください。例:

  • ハードコードされた矩形が表示されているだけで、色が変わっても簡単なプログラムを作成できますか?
  • それで、プログラムを実行するたびに矩形がランダムな場所に表示されるようにすることはできますか?
  • 次に、クリックすると長方形が場所を変えるようにすることはできますか?

特定の手順で問題が発生する場合は、問題を絞り込んでMCVEを新しい質問に投稿してください。がんばろう。

0

私はpic_xに対してテストしますが、pic_x_newを使用して画像を描画しています(yと同じです)。イメージを配置してテストするには、同じvarを使用する必要があります。

もう1つの方法は、新しい値をパラメータとして渡すイメージに対してマウスをテストする機能を作成することです。

関連する問題