0

我一直在开发一个小型平台游戏,并决定尝试新的碰撞检测。我遵循了 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);
}
4

1 回答 1

0

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

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

于 2013-10-07T21:02:28.367 回答