今回はBox2Dのオブジェクトのダブルクリック判定の仕方が知りたくて投稿させていただきました。
//ダブルクリックするとオブジェクトを追加する private void pictDraw_DoubleClick(object sender, EventArgs e) { Vec2 vClick = new Vec2((Cursor.Position.X - m_ptOrg.X) / m_fZoom, -(float) (Cursor.Position.Y - m_ptOrg.Y) / m_fZoom); // ダブルクリック地点情報 AABB aabb; Vec2 range = new Vec2(0.5f, 0.5f); aabb.LowerBound = vClick - range; aabb.UpperBound = vClick + range; // ダブルクリック地点にオブジェクトがあるかの判定 Shape[/url] s = new Shape[1]; if (m_world.Query(aabb, s, 1) > 0 && s[0] != null) { { BodyDef bodyDef = new BodyDef(); bodyDef.Position.Set(-52.6f, 57.3f); Body body = m_world.CreateBody(bodyDef); PolygonDef shapeDef = new PolygonDef(); shapeDef.SetAsBox(4.8f, 3.8f); shapeDef.Density = 1.0f; shapeDef.Friction = 0.3f; shapeDef.Restitution = 0.5f; body.CreateShape(shapeDef); body.SetMassFromShapes(); body.SetUserData("body1"); } } }とりあえずはこれで出来たのですが、画像適用の時のようにUserDataを使って
オブジェクトごとに違うイベントを発生させることができません。
どうすればいいのでしょうか?
よろしくお願いします。
