C# BOX2D ContactListenerの使い方がわかりません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
iruiru
記事: 4
登録日時: 7年前

C# BOX2D ContactListenerの使い方がわかりません

#1

投稿記事 by iruiru » 7年前

C#でBOX2Dをつかっているものですが

ContactListenerを使おうと思い

   public class MyContactListener : ContactListener
  {
      public override void Add(ContactPoint point)
      {
         Body bodyA = point.Shape1.GetBody ();
         Body bodyB = point.Shape2.GetBody();
      }
   }

ここまではできたのですが
ContactListenerを登録するというのがわかりません
初心者で聞き方もまずいかもしれませんが
回答をください お願いします

アバター
沖 滉均
記事: 237
登録日時: 8年前
住所: K県F市

Re: C# BOX2D ContactListenerの使い方がわかりません

#2

投稿記事 by 沖 滉均 » 7年前

BOX2Dというライブラリを使用されているんですね。
私は使ったことがないので間違いがあるかもしれませんが、

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のインスタンス)でできるようです。
というところでしょうか
There is no royal road to learning.
codeタグで指定できる言語
画像

iruiru
記事: 4
登録日時: 7年前

Re: C# BOX2D ContactListenerの使い方がわかりません

#3

投稿記事 by iruiru » 7年前

一発でできました。沖 滉均さん
ありがとうございます!!!

閉鎖

“C言語何でも質問掲示板” へ戻る