我有GenericPool
类(创建所需数量的精灵然后我一次又一次地重复使用这些精灵)和PhysicsWorld
类(用于将物理应用于精灵像重力摩擦等)。
PhysicsWorld
类适用于单个Sprite,GenericPool
可以正常工作,而不会将physicsWorld
应用于其Sprite。当我想将PhysicsWorld
应用于GenericPool
精灵的所有对象时,会出现此问题。
请指导我如何将PhysicsWorld
应用于genericpool中的所有对象..
public class BubblePool<Sprite>{
TextureRegion bubbleTexture
BubblePool(TextureRegion mTextureRegion)
this.bubbleTexture=mTextureRegion;
}
protected onAllocatePoolItem(){
return new Sprite(0,0,bubbleTexture,....);
}
另一类PhysicsWorld
public class BubblePhysics{
//all method including FixtueDef and //body then PhysicsConnector etc
}
BubblePhysics类是单独的类与一个sprite工作正常..但现在我想将此类连接到BubblePool ..在BubblePool中新的sprite是在onAllocatePoolItem()方法中创建的我希望当sprite创建时我应该如何使用physicsworld ..
答案 0 :(得分:0)
您可以尝试:
protected Sprite onAllocatePoolItem(PhysicsWorld physicsWorld){
Sprite sprite = new Sprite(0,0,bubbleTexture,....);
final FixtureDef objectFixtureDef = PhysicsFactory.createFixtureDef(1, 0.5f, 0.5f);
PhysicsFactory.createCircleBody(physicsWorld, sprite, BodyType.DynamicBody, objectFixtureDef);
physicsWorld.registerPhysicsConnector(new PhysicsConnector(sprite, body, true, true));
return sprite;
}
我会从这里开始。如果有效,请告诉我。