我正在制作一个使用“AI 玩家”的简单游戏(他们并不是真正的 AI 玩家)。我需要找出我正在使用的“ map ”的某个部分是否具有某些颜色,这样我就可以让“AI玩家”做某些事情。可以这样做吗?
我不知道这是否有帮助,但是一款名为“魔兽争霸3”的游戏使用非常相似的东西来确定某些事情,例如移动。如果你了解这个游戏,应该会更容易理解这个问题。
我认为如果我将图像放入自定义 NSView
子类中,这可能是可能的,但我还没有学会如何检查那里的颜色。
最佳答案
做到这一点的最佳方法是不要费心检查实际图像的颜色(如果您要检查大量单独的像素,这可能是一项昂贵的操作),而是在 map 的数据结构中指示特征你想要的,然后从中获取颜色和玩家行为。
伪代码:
// Draw Map
foreach currSquare in listOfSquares:
if map[currSquare].hasPropertyX():
drawSquare(currSquare, blue)
else if map[currSquare].hasPropertyY():
drawSquare(currSquare, red)
// Move pieces
foreach currPlayer in listOfPlayers:
squareIAmStandingOn = currPlayer.square
if map[squareIAmStandingOn].hasPropertyX():
currPlayer.takeActionX()
else if map[squareIAmStandingOn].hasPropertyY():
currPlayer.takeActionY()
关于objective-c - 如何检查图像某一部分的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695875/