简单的彩色地图问题

时间:2009-08-23 12:02:44

标签: iphone

我有一个UIImage。有3种颜色,白色(=天空),黑色(=播放器)和绿色(=地板)。当黑人球员只与白色的天空相撞时,我会让他摔倒。当他与白色的天空和绿色的地板碰撞时,我阻止他。

图片:http://img39.imageshack.us/img39/4290/colormapb.jpg

现在我的问题:我如何阅读颜色并让玩家与它发生碰撞?

30天游戏的程序员使色彩图碰撞 太

感谢, domp

1 个答案:

答案 0 :(得分:0)

布局是随机的吗?如果没有,只需列出“秋天”区域的边界框,并在“秋天”框列表中选中黑色“玩家”框。

假设您将“秋天”框的完整列表存储在大小为fallBoxCount的C数组“fallBoxes”中。 //您可以使用NSArray但代码更容易这样。

// playerBox is the rect for the current position of the black "player" box.

for (int i = 0; i < fallBoxCount; ++i)
{
    CGRect testBox = fallBox[i];
    if (CGRectContainsRect(textBox, playerBox)
    {
        // Fall!
        break;
    }
}