与cocos2d和tilemap的碰撞错误

时间:2013-10-12 20:50:36

标签: xcode cocos2d-iphone

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

    }

0 个答案:

没有答案