我正在开发一款简单的赛车游戏,你可以在赛道上驾驶汽车。 赛道是灰色的,背景是绿色的,任何时候我在给定点(汽车前部)得到的颜色不是灰色的,汽车应该停下来,因为它离开了赛道。
但是轨道不是用 sfml 绘制的,而是我制作的下载图像。 那么,有没有什么方法可以获取图像上像素的颜色,只要 rgb 值匹配?
这是执行此操作的伪代码:
游戏运行时
获取颜色(汽车x值,汽车y值)
如果颜色不是灰色
汽车站
谢谢!
最佳答案
您可以使用适当的方法获取sf::Image
中像素的sf::Color
:sf::Image::getPixel
.它需要 X 和 Y 坐标。
例子:
sf::Image track;
if (!track.loadFromFile("track.jpg"))
{
// oops, loading failed, handle it
}
sf::Color color = track.getPixel(0, 0); // gets the color of the upper left corner pixel
关于c++ - 如何在 C++ (sfml) 中获取图像中像素的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51256740/