在 texture2D 中获取给定坐标中的颜色值

getting color value in given coordinates in a texture2D

我在谷歌上搜索了很长时间,但只找到了关于如何以其他方式执行此操作的回复,即根据颜色查找坐标。

这可能已在某处得到回答,但它被隐藏在所有其他回复之下。

--

因此,作为为我的游戏制作关卡编辑器的一种简单方法,我让游戏加载纹理,然后循环遍历它的像素。纹理中的不同颜色相当于不同的对象。

其他一切正常,但我无法找到如何获取给定坐标中像素的颜色。

基本上您需要做的是使用 Texture2D.GetData 方法

将纹理颜色信息存储到一维数组中
var colorTable = new Color[texture.Width*texture.Height];
        texture.GetData(colorTable);

然后要访问特定像素(比如 X、Y),您需要做的就是像这样从数组中获取其对应的颜色

var pixelColor=colorTable[texture.Width * Y + X];