我用谷歌搜索了一段时间,但只是找到了如何做到这一点的反应,找到了基于颜色的坐标。
这可能已经在某个地方得到了回答,但它被埋没在所有其他回复之下。
-
所以,作为一个为我的游戏制作关卡编辑器的简单方法,我让游戏加载一个纹理,然后循环通过像素。纹理中的不同颜色等同于不同的对象。
其他一切工作正常,但我无法找到如何在给定的坐标中获得像素的颜色。
答案 0 :(得分:1)
基本上您需要做的是使用Texture2D.GetData方法将纹理颜色信息存储到一维数组中
var colorTable = new Color[texture.Width*texture.Height];
texture.GetData(colorTable);
然后访问一个特定的像素(比如X,Y),你需要做的就是从数组中获取相应的颜色,这样就可以了
var pixelColor=colorTable[texture.Width * Y + X];