Speci c примеры классов спрайтов в Monogame - PullRequest
0 голосов
/ 04 февраля 2020

Мне нужен класс спрайтов, который может загружать текстуру и рисовать ее из любого места. Я хотел бы, чтобы это работало так:

Первый , вы бы инициализировали.

Sprite sprite = new Sprite( //The path would go here );

Далее , вы можете загрузить спрайт.

sprite.Load();

Затем ничья.

sprite.Draw();

Методы выгрузки и удаления спрайта также приветствуются. Я хотел бы, чтобы он также содержал все аргументы Draw, такие как следующие и т. Д.

sprite.Layer = 0.5f;
sprite.Rotation = new Vector2(0, 0);

Ссылка на учебник или другой пост будет столь же хороша, как и решение, которое вы сами придумали , Это также не обязательно должно быть именно так, это просто свободный пример.

1 Ответ

0 голосов
/ 05 февраля 2020

В MonoGame самый простой способ достичь желаемого - использовать класс SpriteBatch. Вы бы вызвали метод SpriteBatch.Draw(Texture2D, Vector2, Color) в методе Draw(GameTime) вашего Game1 класса и передали ему соответствующие поля.

Для отдельного класса нет способа нарисовать себя без некоторых относительно сложных шагов. Использование Texture2D s, которые вы загружаете с помощью метода Content.Load<Texture2D>(String) и рисуете с SpriteBatch, должно быть более чем достаточно для того, что вы пытаетесь выполнить sh.

См. Здесь для получения дополнительной информации и других отличные учебники MonoGame: http://rbwhitaker.wikidot.com/spritebatch-basics

...