Texture2D SetData, elementCount не правильный размер - PullRequest
0 голосов
/ 14 марта 2020

Я работаю над некоторой курсовой работой для университета, и у меня есть небольшая проблема. Я пытался работать с функцией TextureDD SetData ранее в MonoGame (XNA) и с той же ошибкой, поэтому я нашел другой способ сделать это и продолжил счастливо. Однако на этот раз я чувствую, что мне нужно обратиться за помощью в решении этой проблемы. Из того, что я видел, это должно быть так же просто, как передать Color [] в SetData, но это не работает для меня.

        public ChangeColour_Popup(ref Uno uno)
    {
        IsPopup = true;
        choices = new Rectangle[4];
        choices[0] = new Rectangle(uno.graphics.Viewport.Width / 2 - Cards.Card.X_CARDSIZE, uno.graphics.Viewport.Height / 2 - Cards.Card.Y_CARDSIZE,
            Cards.Card.X_CARDSIZE, Cards.Card.Y_CARDSIZE);
        colours = new Texture2D[4];
        colours[0] = new Texture2D(uno.graphics, Cards.Card.X_CARDSIZE, Cards.Card.Y_CARDSIZE);
        colours[0].SetData(new Color[] { new Color(255, 0, 0) } );
    }

Вот мой код, в последней строке вы видите, что я пытаюсь поэкспериментировать с получением простого solid красного цвета в качестве моего Texture2D, но я получаю сообщение об ошибке при выполнении этого раздела кода это "* elementCount не правильный размер, elementCount * sizeof (T) равен 4, но размер данных равен 349280. Имя параметра: elementCount *"

Я пытался установить elementCount равным 4 (как тест) это дало мне ошибку «Массив данных слишком мал». Я уменьшил это до 3, затем 2, затем 1. В 2 и 3 я все еще получил эту ошибку, а в 1 это снова дало мне первоначальную ошибку. Я предполагаю, что просто неправильно понимаю документацию или как правильно ее использовать, спасибо за любую помощь, если вам нужно что-то еще, позвольте мне знать :)

...