[英]Collision Detection with Alpha in Box2D for AndEngine
我正在用Andengine(GLES 2)创建我的第一个游戏,并将Box2D用于物理。
碰撞检测有效,但似乎没有考虑png文件上的alpha值(我认为这是发生了什么),因为碰撞发生在两个精灵实际接触之前。 我并不需要碰撞就可以做到像素完美而又准确。
这就是我设置碰撞检测的方式:
final CharacterSprite characterSprite = new CharacterSprite(CAMERA_WIDTH/2, CAMERA_HEIGHT/2, this.mCharacterTextureRegion, this.getVertexBufferObjectManager());
mPhysicsWorld = new FixedStepPhysicsWorld(60, new Vector2(0, 0), false);
scene.registerUpdateHandler(mPhysicsWorld);
playerBody = PhysicsFactory.createBoxBody(mPhysicsWorld, characterSprite, BodyType.DynamicBody, PhysicsFactory.createFixtureDef(0, 0, 0));
playerBody.setUserData("player");
characterSprite.setBody(playerBody);
mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(characterSprite, playerBody, true, true));
mPhysicsWorld.setContactListener(createContactListener());
attachSprites(scene);
谢谢
那么,请使用除盒子以外的其他形状(最好是圆形)或使用自定义大小的盒子,该盒子不会一直围绕您的精灵。 如果您想获得更高的精度,可以使用多边形甚至多个多边形。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.