C#でBOX2Dをつかっているものですが
ContactListenerを使おうと思い
public class MyContactListener : ContactListener
{
public override void Add(ContactPoint point)
{
Body bodyA = point.Shape1.GetBody ();
Body bodyB = point.Shape2.GetBody();
}
}
ここまではできたのですが
ContactListenerを登録するというのがわかりません
初心者で聞き方もまずいかもしれませんが
回答をください お願いします
C# BOX2D ContactListenerの使い方がわかりません
Re: C# BOX2D ContactListenerの使い方がわかりません
BOX2Dというライブラリを使用されているんですね。
私は使ったことがないので間違いがあるかもしれませんが、
http://namunamu15.blogspot.com/2009/06/ ... tener.html
上記はFlash(Action Script)のコードですがWorldオブジェクトに対して
セットするようですね。
以下はコードとしては意味を成さないので適宣入れたい場所に入れてください。
多分初期化でやればいいと思います
のようにすればいいのではないでしょうか?
コードタグ使う必要はなさそうでしたね…
あと、ContactLisnerのメソッドは仮想メソッドのようですので
Addメソッドだけではなく、Remove, Persist, Resultもoverrideする必要がありそうな気がします。
[追記]
そうそう、結論が抜けてました。
ContactLisnerを登録するには
Worldのインスタンスに対してSetContactLisner(登録するContactLisnerのインスタンス)でできるようです。
というところでしょうか
私は使ったことがないので間違いがあるかもしれませんが、
http://namunamu15.blogspot.com/2009/06/ ... tener.html
上記はFlash(Action Script)のコードですがWorldオブジェクトに対して
セットするようですね。
以下はコードとしては意味を成さないので適宣入れたい場所に入れてください。
多分初期化でやればいいと思います
// worldはどこかで既に作成済
MyContactListener contact = new MyContactListener();
world.SetContactListener(contact);
コードタグ使う必要はなさそうでしたね…
あと、ContactLisnerのメソッドは仮想メソッドのようですので
Addメソッドだけではなく、Remove, Persist, Resultもoverrideする必要がありそうな気がします。
[追記]
そうそう、結論が抜けてました。
ContactLisnerを登録するには
Worldのインスタンスに対してSetContactLisner(登録するContactLisnerのインスタンス)でできるようです。
というところでしょうか
Re: C# BOX2D ContactListenerの使い方がわかりません
一発でできました。沖 滉均さん
ありがとうございます!!!
ありがとうございます!!!