ホームページへ〕 [▲前のスレッド]

[1572] jwでエンターテーメントしていますか返信 削除
2021/1/28 (木) 08:23:22 chika

jwでエンターテーメントしていますか

jwで絵を描いて、キャラクターを創って
スマホのタッチイベントで絵を操ろうと
・・・「3角形のヒットテスト」テーマに
プログラム中。ゲームではありませんぞ。
サンプルとして投稿画像ような
三角形を "class" しました。
当たり判定はマウスポイントに対し
辺の角度の合計が360°になるアルゴリズム
と、しました。

//...class Triangle... コードの一部

class Triangle {
  float x0, x1, x2;
  float y0, y1, y2;
 
  Triangle(Point p0, Point p1, Point p2) {
    this.x0=p0.x; this.y0=p0.y;
    this.x1=p1.x; this.y1=p1.y;
    this.x2=p2.x; this.y2=p2.y;
  }

//...省略...........................................

  boolean hitTest(float x,float y) { //x,y mouseの座標
    float x0=this.x0 - x; float y0=this.y0 - y;
    float x1=this.x1 - x; float y1=this.y1 - y;
    float x2=this.x2 - x; float y2=this.y2 - y;
    float k0=getDeg(x0,y0,x1,y1);
    float k1=getDeg(x1,y1,x2,y2);
    float k2=getDeg(x2,y2,x0,y0);
    float k=k0 + k1 + k2;
    if(gosa(k,PI*2)) { //角度の合計が360°か?
      return true;
    } else {
      return false;
    }
  }
}

 "processing" のソースです。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.84