public int colorMapCollisionDetection(float posx, float posy)
{
Color[] colorMapArray = new Color[1];
colorMap.GetData<Color>(0, new Rectangle((int)posx, (int)posy-25, 1, 1), colorMapArray, 0, 1); //Error happen in this line, and it is so random. i cant figure whats wrong.
Color bgColor = colorMapArray[0];
Color green = new Color(0, 255, 0);
Color red = new Color(255, 0, 0);
if (bgColor == green) {
return 1;
} else if (bgColor == red) {
return 2;
} else {
return 3;
}
}
在角色的中心创建一个小矩形(1x1pixel)。它移动时会纹理getcolordata
。它有效,但错误随机发生:
此资源的矩形太大或太小。参数 名称:rect。
导致此错误的原因是什么?