Привет всем, я использую попиксельное сравнение цветов двух объектов Texture2D, один класс выглядит так:
public class MyClass
{
Texture2D sprite;
Vector2 position;
float scale;
Color[] spriteTextureData;
public MyClass(Texture2D texture, Vector2 pos)
{
sprite = texture;
position = pos;
center = new Vector2(sprite.Width/2, sprite.Height/2);
scale = 1;
spriteTextureData = new Color[sprite.Width * sprite.Height];
sprite.GetData(spriteTextureData);
<breakpoint>
}
}
Моя проблема в том, что когда я вызываю sprite.GetData (spriteTextureData), Я получаю массив цветов, которые все пусты (то, что я имею в виду под "пустым" будет: {R: 0 B: 0 G: 0 A: 0}).Странно для меня то, что я использовал этот метод с парой разных классов, и сравнение пикселей до сих пор работало.Это тот, который доставляет мне проблемы.Если я ставлю NOOP сразу после вызова GetData () и вставляю точку останова, это сразу показывает, что массив пуст.Какие-либо предложения?Спасибо за вашу помощь!
Обновление: я попытался изменить фактический файл изображения на другое изображение, и цвета загружены правильно.Похоже, по какой-то причине что-то не так с этим изображением ... они оба имеют одинаковый тип файла, я не понимаю, почему это может вызвать проблему.Я сделаю еще немного работы и посмотрю, смогу ли я найти объяснение.