Box2D 図形同士の衝突する/しないの設定

http://progmemo.blogspot.com/2009/01/box2d.html

衝突の設定

var mypolydef:b2PolygonDef;
mypolydef = new b2PolygonDef();
mypolydef.filter.categoryBits = parseInt("010", 2);
mypolydef.filter.maskBits = parseInt("111", 2);


categoryBits はその図形が属するグループをビットで指定する。
16ビットまで指定できるらしいので、16グループまで設定できる。
自分のわかりやすい書き方で書けばいいと思う

// (多分)全部一緒
mypolydef.filter.categoryBits = parseInt("1000000000000000", 2);
mypolydef.filter.categoryBits = 0x8000;
mypolydef.filter.categoryBits = 0x01 << 15;
mypolydef.filter.categoryBits = 32768;


maskBitsは衝突するグループの設定

/*
parseInt("0010", 2);
parseInt("1000", 2);//このグループ(categoryBits)と衝突
*/
mypolydef.filter.maskBits = parseInt("1010", 2);

// 全てのグループと衝突
mypolydef.filter.maskBits = 0xffff;

// 衝突しない
mypolydef.filter.maskBits = 0x0000;