0

所以我正在制作一个简单的 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;

    }
4

0 回答 0