繁体   English   中英

AndEngine Box2D中的Alpha碰撞检测

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM