次のコードにセンサー フィクスチャを追加すると、2 つの問題が発生します。再配置ベクトルb2Vec2(0,50)
が機能していません。2 番目のフィクスチャは、まだボディの原点の中心にあります。両方のフィクスチャをデバッグ モードで表示できますが、センサー フィクスチャをメイン フィクスチャの足元に移動できません。
次に、イベントを受信していないのはいつisSensor
ですか。に設定すると、適切なイベントが発生します (衝突と共に)。これを他の物体と衝突しないがイベントを発生させるセンサーにするにはどうすればよいですか。ご協力ありがとうございました。true
PostSolve
false
// FIXTURE DEF
var fixDef = new box2d.b2FixtureDef();
fixDef.shape = new box2d.b2PolygonShape;
fixDef.shape.SetAsBox((25 / 2 / SCALE), (46 / 2 / SCALE));
fixDef.density = 0.99;
fixDef.friction = 0.39;
fixDef.restitution = 0.0;
fixDef.userData = "SBody";
fixDef.filter.categoryBits = CAT.SOLDIER;
fixDef.filter.maskBits = CAT.GROUND;
this.view.body.CreateFixture(fixDef);
// ADD FOOT SENSOR
fixDef.density = 0.1;
fixDef.friction = 1.;
fixDef.restitution = 0.1;
fixDef.userData = "Foot";
fixDef.shape.SetAsBox((10 / 2 / SCALE), (100 / 2 / SCALE), new box2d.b2Vec2(0,50), 0);
fixDef.isSensor = true;
fixDef.filter.categoryBits = CAT.SOLDIER_FOOT_SENSOR;
fixDef.filter.maskBits = CAT.SHIP | CAT.GROUND;
this.view.body.CreateFixture(fixDef);