C# Box2D ダブルクリック
Posted: 2010年10月24日(日) 19:24
いつもお世話になっています。black_catです。
今回はBox2Dのオブジェクトのダブルクリック判定の仕方が知りたくて投稿させていただきました。
オブジェクトごとに違うイベントを発生させることができません。
どうすればいいのでしょうか?
よろしくお願いします。

今回は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を使ってオブジェクトごとに違うイベントを発生させることができません。
どうすればいいのでしょうか?
よろしくお願いします。
