我正在制作一个简单的游戏,使用"AI玩家“(他们不是真正的AI玩家)。我需要找出我使用的“地图”的某个部分是否有特定的颜色,这样我就可以让"AI玩家“做某些事情。有可能这样做吗?
我不知道这会不会有帮助,但是一个叫做“魔兽世界3”的游戏使用一个非常相似的东西来确定某些东西,比如运动。如果你知道这个游戏,应该更容易理解这个问题。
我认为,如果我将图像放入自定义的NSView
子类中,这可能是可能的,但我还没有学会如何检查那里的颜色。
发布于 2011-04-17 19:33:05
从NSBitmapImageRep中创建一个NSImage,并使用彩色a:y:获取颜色。
检查:
NSBitmapImageRep类引用
发布于 2011-04-17 20:19:28
最好的方法是不要费心地检查实际图像的颜色(如果要检查大量的单个像素,这可能是一项昂贵的操作),而是在地图的数据结构中指明您想要拥有的特征,然后从它中提取颜色和播放器行为。
伪码:
// 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()
https://stackoverflow.com/questions/5695875
复制相似问题