私は2つの体(A、B)を持っています。B が A の後に続くようにします。 setTransfrom() 関数で B の位置を A の位置に変更できます。しかし、フレーム レートごとに B の位置を変更する必要があります。そのため、連絡先リスナーのようなものを使用する必要があります。Andengine で通常のオブジェクトを使用すると、contactlistener の代わりに以下の関数が使用されます。
this.foot = new Rectangle(this.getX(), this.getY(), 8, 10, ResourcesManager.getInstance().vbom){
@Override
protected void onManagedUpdate(float pSecondsElapsed)
{
// super.onManagedUpdate(pSecondsElapsed);
this.setPosition(body.getPosition().x*PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT+1,
body.getPosition().y*PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT-15);
}
};
作成時にこの種のリスナーを設定できるということです.box2d本体のオプションはありますか? 私はそのようなことを意味します:
this.footBody=PhysicsFactory.createBoxBody(this.mPhysicsWorld, this.foot, BodyType.DynamicBody, footFixtureDef){
@Override
protected void onManagedUpdate(float pSecondsElapsed)
{
// super.onManagedUpdate(pSecondsElapsed);
this.setPosition(body.getPosition().x*PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT+1,
body.getPosition().y*PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT-15);
}
};