球の当たり判定
キャラクターをマウスで動かして、ランダムな位置に置かれた円に触れたら、また別のランダムな位置に円を置くというプログラムを作成したいです。
操作する円を bullet 、ランダムに描かれる円を target としました。
疑問点は、
・if以下に打ち込むべきコードがわからない
・sqrt()を用いると良い とヒントが与えられているのですが、調べても求める検索結果が出てこないのでわからない
です
processing
1float targetX = random(380); 2float targetY = random(380); 3int manX; 4int manY; 5int random; 6float r1; //bulletの半径 7float r2; //targetの半径 8float d = r1 + r2; 9 10void man() { 11 fill(0); 12 rect(manX, manY, 50, 30); 13 rect(manX - 10, manY + 20, 70, 10); 14 fill(255); 15 rect(manX, manY + 10, 50, 10); 16 rect(manX + 2, manY + 30, 46, 25); 17 circle(manX + 20, manY + 40, 15); 18 circle(manX + 45, manY + 40, 15); 19} 20 21void bullet() { 22 fill(#FF0000); 23 ellipse(manX, manY, 30, 30); 24} 25 26void target() { 27 fill(#DCE83D); 28 circle(targetX, targetY, 50); 29} 30 31void draw() { 32 background(255); 33 34 manX = 100 - 30; 35 manY = 100 - 30; 36 man(); 37 38 manX = mouseX; 39 manY = mouseY; 40 bullet(); 41 42 43 bullet(); 44 target(); 45 46 if ((targetX - mouseX) * (targetX - mouseX) + (targetY - mouseY) * (targetY - mouseY) <= (r1 + r2) * (r1 + r2)) { 47 48 } 49} 50 51void setup() { 52 size(480, 480); 53}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/05 13:50