如何支持更大的瓷砖

时间:2013-10-07 20:14:40

标签: ios xcode cocos2d-iphone

我一直在做一个小平台游戏,并决定尝试新的碰撞检测。我按照了Ray wenderlich关于如何制作iOS平台游戏的教程,并提出了几个问题。在教程中,它设置为支持非常特定的磁贴大小,我想知道如何正确地修改它以支持80x80的磁贴大小。这是用于获取切片坐标和边界框的方法。

- (CGPoint)tileCoordForPosition:(CGPoint)position
{
    float x = floor(position.x / map.tileSize.width);
    float levelHeightInPixels = map.mapSize.height * map.tileSize.height;
    float y = floor((levelHeightInPixels - position.y) / map.tileSize.height);
    return ccp(x, y);
}

-(CGRect)tileRectFromTileCoords:(CGPoint)tileCoords
{
    float levelHeightInPixels = map.mapSize.height * map.tileSize.height;
    CGPoint origin = ccp(tileCoords.x * map.tileSize.width, levelHeightInPixels - ((tileCoords.y + 1) * map.tileSize.height));
    return CGRectMake(origin.x, origin.y, map.tileSize.width, map.tileSize.height);
}

1 个答案:

答案 0 :(得分:0)

由于此代码使用了tilemap中的值,因此如果在tilemap中正确设置,则无需更改代码。

我当然看不到任何神奇的数字,这很好。只有傻瓜和巫师使用魔法数字。 :)