我正在用cocos2d-x v3.2开发一款游戏,在那里我有块从屏幕顶部掉下来。当它们到达地面时,它们会断裂。
通过schedule()调用generateBlock方法不断创建新块。
使用以下代码创建新块:
newBlock = new Blocks(newPoint, false);
newBlock->drawBlock(this, BLOCK_ZORDER);
并用以下代码删除:
if(BLOCKS_BITMASK == contact.getShapeA()->getBody()->getCollisionBitmask())
{
contact.getShapeA()->getBody()->removeFromWorld();
layer->removeChild(contact.getShapeA()->getBody()->getNode());
}
else
{
contact.getShapeB()->getBody()->removeFromWorld();
layer->removeChild(contact.getShapeB()->getBody()->getNode());
}
一切都很好,除了有时块不会生成(它既不会出现在我跟踪块生成的CCLog()中,也不会出现在屏幕上),尽管生成的时间已经到来。不存在的幻影体与地面发生碰撞(我看到这是由于产生的粒子和日志中的“阻挡撞击地面”)。