所以我正在制作一个简单的cocos2d平台游戏,我遇到了一些有点碰撞的东西。我有它,所以当你跳跃并击中你上方的一个块时,它会停止向上的力量而你开始下降。然而,块的左侧和右侧注册有很大不同。我已经让双方的命中检测都很大,以测试发生了什么。块的右侧始终正常工作并响应增加。然而,左侧从未对增加作出反应。这可能听起来令人困惑所以,如果您仍然不确定我的意思,我可以在其上发布一个快速YouTube视频并将其链接到此处。
以下是我正在使用的代码:
-(CGPoint) tileCoorForPosition: (CGPoint)position{
int x = floor((position.x + tilesMoved) / 40);
int y = floor((((self.tileMap.mapSize.height * 40) - position.y) / 40));
return ccp(x,y);
}
-(CGPoint) positionForTileCoord:(CGPoint) position{
int x = position.x * 40 - tilesMoved;
int y = (((self.tileMap.mapSize.height - position.y - tilesMovedUp)* 40));
return ccp(x,y);
}
CGPoint tl_playerPosition = [self tileCoorForPosition:ccp(self.character.position.x - self.character.contentSize.width/2, self.character.position.y + self.character.contentSize.height*2)];
CGPoint tr_playerPosition = [self tileCoorForPosition:ccp(self.character.position.x + self.character.contentSize.width/2, self.character.position.y + self.character.contentSize.height*2)];
if(tr_GID || tr_GID || tm_GID || tml_GID || tmr_GID)
{
jumpForce = -1;
jumpForce += gravity;
}