👨💻 Модель AABB объекта со всеми свойствами и методами
👉 Со всеи пояснянениями на слайдах
👉 Со всеи пояснянениями на слайдах
👍1
👨💻Класс с набором методов для распознования коллизий
👉 Так как у нас уже есть два алгоритма распознования пересечения для кружков и для
👉 Так как у нас уже есть два алгоритма распознования пересечения для кружков и для
AABB объектов, то логично это дело упаковать в одном классе👍1
Media is too big
VIEW IN TELEGRAM
👉 Анимации взрывов тут тоже также как на прошлых демо хорошо встраиваются, получается вот так
❤1🔥1
Media is too big
VIEW IN TELEGRAM
День 28: Заметка 1: Покадровая анимация
👉 Во всех играх для анимации персонажей реализован стандартный подход -
👉 Устроено это так:
У персонажа может быть несколько состояний, для каждого состояния есть набор кадров.
Когда персонаж появляется в игровом мире, создается экземпляр класса, моделирующего этот персонаж.
У персонажа есть переменная, которая хранит текущее состояние.
Когда игровой движок хочет отрисовать персонажа, он обращается к его экземпляру и просит дать кадр, который необходимо отрисовать в текущий момент времени в зависимости от текущего состояния.
🎯 Именно это реализовал сегодня на примере полета космического корабля.
У корабля есть три состояния:
#Arduino
👉 Во всех играх для анимации персонажей реализован стандартный подход -
покадровая анимация.👉 Устроено это так:
У персонажа может быть несколько состояний, для каждого состояния есть набор кадров.
Когда персонаж появляется в игровом мире, создается экземпляр класса, моделирующего этот персонаж.
У персонажа есть переменная, которая хранит текущее состояние.
Когда игровой движок хочет отрисовать персонажа, он обращается к его экземпляру и просит дать кадр, который необходимо отрисовать в текущий момент времени в зависимости от текущего состояния.
🎯 Именно это реализовал сегодня на примере полета космического корабля.
У корабля есть три состояния:
idle - полет иллюминатором вперед (то есть к нам)left - полет налево (иллюминатор смотрит влево)right - полет направо#Arduino
❤1
Code Every Day 🚀
День 28: Заметка 1: Покадровая анимация 👉 Во всех играх для анимации персонажей реализован стандартный подход - покадровая анимация. 👉 Устроено это так: У персонажа может быть несколько состояний, для каждого состояния есть набор кадров. Когда персонаж…
👆 Пояснения к демо
👉 корабль летает по экрану, достигнув края экрана, он меняет состояние, и, соответственно, меняется атлас кадров
👉 текущее состояние корабля выводится в виде текста в левом верхнем углу экрана
👉 иногда корабль обрисован рамкой
👉 корабль летает по экрану, достигнув края экрана, он меняет состояние, и, соответственно, меняется атлас кадров
👉 текущее состояние корабля выводится в виде текста в левом верхнем углу экрана
👉 иногда корабль обрисован рамкой
AABB прямоугольника, хотел показать, как это все вместе перемещается, в обычном режиме прямоугольник не виден👍1
Code Every Day 🚀
День 28: Заметка 1: Покадровая анимация 👉 Во всех играх для анимации персонажей реализован стандартный подход - покадровая анимация. 👉 Устроено это так: У персонажа может быть несколько состояний, для каждого состояния есть набор кадров. Когда персонаж…
👆 Логика реализации
👉 Главный класс -
👉 У спрайта есть поле
👉 Для работы с покадровой анимацией реализовал отдельный класс
👉 У спрайта может быть набор полей атласов спрайтов, для каждого состояния свой.
👉 Главный класс -
Sprite, он отвечает за одного персонажа, который будет размещен на экране.👉 У спрайта есть поле
AABB, то есть прямоугольник, в который вписан данный персонаж, из прошлой заметки ясно, что это будет использоваться для определения столкновений.👉 Для работы с покадровой анимацией реализовал отдельный класс
Atlas, который содержит массив изображений (кадров).👉 У спрайта может быть набор полей атласов спрайтов, для каждого состояния свой.
👍1
Code Every Day 🚀
День 28: Заметка 1: Покадровая анимация 👉 Во всех играх для анимации персонажей реализован стандартный подход - покадровая анимация. 👉 Устроено это так: У персонажа может быть несколько состояний, для каждого состояния есть набор кадров. Когда персонаж…
Media is too big
VIEW IN TELEGRAM
🤔 Много поясняющих сообщений было к демо
👉 Прикреплю еще разок его сюда, чтобы было наглядно после прочтения
👉 Прикреплю еще разок его сюда, чтобы было наглядно после прочтения
👍1
День 29: Заметка 1: Итоги 4х недель
Последние 4 недели были посвящены программированию
🎯 Итог
👉 собран рабочий протип
👉 хорошая тренировка по основам в программировании на
👉 изучены основы работы с библиотекой для работы с RGB матрицей https://github.com/adafruit/Adafruit-GFX-Library
👉 изучены основны работы с
👉 реализовано множество прототипов для работы с выводом текста, простые анимации для примитивных объектов
👉 научился выводить изображения
👉 реализованы прототипы для интерполяторов, много наглядных примеров по перемещению объектов с применением интерполяторов
👉 некоторые алгоритмы из гейм дева, рассмотрены методы работы коллизиями
👉 реализованы анимации спрайтов
👉 собран рабочий протип
Кажется, большего не выжать, разрешение малое у панели.
Для чего-нибудь это может пригодиться.
За это время получил много удовольствия.
#Life
Последние 4 недели были посвящены программированию
Arduino для работы с RGB матрицей.🎯 Итог
👉 собран рабочий протип
Arduino + RBG матрица👉 хорошая тренировка по основам в программировании на
Wiring (C++), освоены базовые методы работы в Arduino IDE👉 изучены основы работы с библиотекой для работы с RGB матрицей https://github.com/adafruit/Adafruit-GFX-Library
👉 изучены основны работы с
ArduinoThread https://github.com/ivanseidel/ArduinoThread👉 реализовано множество прототипов для работы с выводом текста, простые анимации для примитивных объектов
👉 научился выводить изображения
👉 реализованы прототипы для интерполяторов, много наглядных примеров по перемещению объектов с применением интерполяторов
👉 некоторые алгоритмы из гейм дева, рассмотрены методы работы коллизиями
👉 реализованы анимации спрайтов
👉 собран рабочий протип
Arduino + BluetoothКажется, большего не выжать, разрешение малое у панели.
Для чего-нибудь это может пригодиться.
За это время получил много удовольствия.
#Life
GitHub
GitHub - adafruit/Adafruit-GFX-Library: Adafruit GFX graphics core Arduino library, this is the 'core' class that all our other…
Adafruit GFX graphics core Arduino library, this is the 'core' class that all our other graphics libraries derive from - adafruit/Adafruit-GFX-Library
🔥1