Что такое Monogame?
Let’s start. Класс Game
Класс Game (прод)
Класс GraphicsDevice
GraphicsDeviceManager
Добавление контента в проект
Добавление контента в проект
Класс ContentManager
Класс SpriteBatch
Класс SpriteBatch — вывод текста
Образец шрифта
Класс Keyboard
Класс Mouse

GameCore. Monogame

1.

2. Что такое Monogame?


Open-source реализация Xna Framework со множеством улучшений и
кроссплатформенностью.
Xna Framework — множество библиотек для работы с графикой и
контентом.
Полезные ссылки:
• http://www.monogame.net/
• https://github.com/MonoGame/MonoGame
• http://www.monogame.net/documentation/?page=main
• https://blog.xamarin.com/build-your-first-game-with-monogame-gettingstarted/

3. Let’s start. Класс Game

Реализует интерфейс IDisposable.
Основные методы:
o Initialize
o LoadContent
o UnloadContent
o Update
o Draw
Initialize
LoadContent
Update
Draw
UnloadContent

4. Класс Game (прод)

Основные поля:
o GraphicsDevice
o IsFixedTimeStep
o IsMouseVisible
o IsActive
События:
o OnActivated/OnDeactivated
o OnExiting
Initialize
LoadContent
Update
Draw
UnloadContent

5. Класс GraphicsDevice

Реализует интерфейс IDisposable.
• Основные методы:
• Clear
• Очистка экрана
• Рисование примитивов
• Установка ресурсов
• Установка буферов кадра
• Установка состояний
кор
д
р
а
х
е
вс
Но это
е ;)
ж
з
о
п
о
т
Про э

6. GraphicsDeviceManager

Добавление контента в проект
Content.mgcb — представление
контента проекта.
Утилита для редактирования:
o MonoGame Pipeline
o Добавление файлов
o Удаление файлов
o Сборка контента
o Изменение content
processor-а
o Изменение importer-а
o Изменение действия
при сборке

7. Добавление контента в проект

Content.mgcb — представление
контента проекта.
Утилита для редактирования:
o MonoGame Pipeline
o Добавление файлов
o Удаление файлов
o Сборка контента
o Изменение content
processor-а
o Изменение importer-а
o Изменение действия
при сборке

8. Добавление контента в проект

Класс ContentManager
Основное поле:
o RootDirectory
Основной метод:
o Load<T>
o T — тип ресурса
o Texture2D,
o SpriteFont
o Model
o Sound
o Unload
o Выгружает все

9. Класс ContentManager

Класс SpriteBatch
Begin(…)
• SpriteSortMode
• BlendState
• SamplerState
• DepthStencilState
• Effect
• Matrix
Draw(…)
• …
End(…)

10. Класс SpriteBatch

— вывод
текста
DrawString(…)
• SpriteFont
• Text
• Position
• Color
• SpriteEffects
• LayerDepth
SpriteFont
• MeasureString

11. Класс SpriteBatch — вывод текста

Образец шрифта

12. Образец шрифта

Класс Keyboard
Keyboard.GetState() возвращает KeyboardState.
Методы KeyboardState:
o IsKeyDown()
o IsKeyUp()
o GetPressedKeys()
Keys – перечисление(enum) кнопок клавиатуры
Примеры:
Keys.A — кнопка с английской буквой “A” на клавиатуре

13. Класс Keyboard

Класс Mouse
Mouse.GetState() возвращает MouseState.
Поля MouseState:
o LeftButton
o RightButton
o MiddleButton
o Position
o ScrollWheelValue (+/-120)
ButtonState — состояние кнопки:
o Pressed/Released

14. Класс Mouse

Вопросы?
Владимир Красноцветов
English     Русский Правила