2017-12-17 16 views
0

私は大学のプロジェクトのゲームを作っています。私は助けが必要です。私はあなたがy座標上でマウスで車をコントロールするゲームを作っています。あなたは人々を避け、y座標で動いているコインを回収する必要があります。 処理3で私の車の長方形の部分との衝突時に人々とコインの中に入れたイメージが消えて欲しい。あなたは、長方形、長方形の衝突検出を実行する必要が処理中に矩形との衝突で画像が消えるのはどうですか?

PImage img,img1,img2,img3,img4,img5; 
int x,y; 
float ypos=0; 
float ypos2=4; 

void setup() 
    { 
    size(1000,585); 
    img = loadImage("person1.png"); 
    img1 = loadImage("sun.png"); 
    img2 = loadImage("coin.png"); 
    img3 = loadImage("person2.png"); 
    img4 = loadImage("person3.png"); 
    img5 = loadImage("person4.png"); 
    x=width/2; 
    y=height/2; 
    } 
void draw() 
{ 
    background(170,200,255); 
    image(img1,720,-30,160,160); 
    fill(255,240,50); 
    ellipse(800,50,85,85); 
    fill(200,255,150); 
    rect(0,200,1000,400); 
    fill(0,0,0); 


    rect((-frameCount%200)*10+1000,130,90,70); 
    rect((-frameCount%200)*10+1090,100,50,100); 
    rect((-frameCount%200)*10+1500,130,90,70); 
    rect((-frameCount%200)*10+1900,100,50,100); 


    fill(200,200,200); 
    rect(0,250,1000,90); 
    fill(200,200,200); 
    rect(0,350,1000,90); 
    fill(200,200,200); 
    rect(0,450,1000,90); 
    fill(255,100,100); 


    rect(0,mouseY+0,200,80); 
    fill(0); 
    ellipse(50,mouseY+60,60,60); 
    fill(0); 
    ellipse(150,mouseY+60,60,60); 
    fill(100); 
    ellipse(50,mouseY+60,40,40); 
    fill(100); 
    ellipse(150,mouseY+60,40,40); 
    fill(255,100,100); 
    arc(100,mouseY+0,160,150,PI,TWO_PI); 
    fill(160,210,300); 
    arc(100,mouseY+0,130,130,PI,TWO_PI); 
    fill(255,100,100); 
    rect(95,mouseY+0,10,-75); 
    fill(0); 
    rect(99,mouseY+0,2,80); 


    image(img5,(-frameCount%300)*10+2500,250+sin(ypos)*100,120,120); 
    ypos +=0.01; 
    image(img4,(-frameCount%450)*5+2000,400+sin(ypos)*140,120,120); 
    ypos +=0.01; 
    image(img,(-frameCount%300)*5+1000,300+sin(ypos)*50,120,120); 
    ypos +=0.01; 
    image(img2,(-frameCount%100)*20+1000,300-sin(ypos2)*130,50,50); 
    ypos2 +=0.05; 
    image(img3,(-frameCount%400)*5+1600,250-sin(ypos)*100,120,120); 
    ypos +=0.08; 
    image(img2,(-frameCount%300)*20+1900,300+sin(ypos2)*130,50,50); 
    ypos2 +=0.05; 
} 

答えて

0

:これは私のコードです。 Googleはここにあなたの友人ですが、基本的には次のようになります。

//evaluates to true if rectOne and rectTwo are colliding 
if(rectOneRight > rectTwoLeft && rectOneLeft < rectTwoRight && rectOneBottom > rectTwoTop && rectOneTop < rectTwoBottom){ 

恥知らずな自己宣伝:私は、利用可能な処理hereにおける衝突検出のチュートリアルを書きました。

まだ問題が解決しない場合は、MCVEを新しい質問欄に投稿し、さらに具体的な質問を投稿してください。これは完全なプロジェクトではなく、ほんの一例です。衝突すると色が変わるハードコーディングされた2つの長方形を示すプログラムを作成してみてください。がんばろう。

+0

私の質問にお答えいただきありがとうございますが、私はこれを私のコードに追加する方法がわからないので、正確に私がこれを追加する必要がある場所を教えてください。コードに追加する必要がある情報はありますか?どのように矩形がヒットした後にイメージを停止させることができますか?何らかの「停止」コマンドがありますか? –

関連する問題