Code Every Day 🚀
30 subscribers
687 photos
243 videos
22 files
174 links
Просто для развлечения
Download Telegram
👨‍💻 Модель AABB объекта со всеми свойствами и методами

👉 Со всеи пояснянениями на слайдах
👍1
👨‍💻Класс с набором методов для распознования коллизий

👉 Так как у нас уже есть два алгоритма распознования пересечения для кружков и для AABB объектов, то логично это дело упаковать в одном классе
👍1
👨‍💻Применение вцелом такое же, в поток проверки коллизий добавил логику работы с AABB
Media is too big
VIEW IN TELEGRAM
👉 Анимации взрывов тут тоже также как на прошлых демо хорошо встраиваются, получается вот так
1🔥1
Media is too big
VIEW IN TELEGRAM
День 28: Заметка 1: Покадровая анимация

👉 Во всех играх для анимации персонажей реализован стандартный подход - покадровая анимация.

👉 Устроено это так:
У персонажа может быть несколько состояний, для каждого состояния есть набор кадров.
Когда персонаж появляется в игровом мире, создается экземпляр класса, моделирующего этот персонаж.
У персонажа есть переменная, которая хранит текущее состояние.
Когда игровой движок хочет отрисовать персонажа, он обращается к его экземпляру и просит дать кадр, который необходимо отрисовать в текущий момент времени в зависимости от текущего состояния.

🎯 Именно это реализовал сегодня на примере полета космического корабля.

У корабля есть три состояния:
idle - полет иллюминатором вперед (то есть к нам)
left - полет налево (иллюминатор смотрит влево)
right - полет направо

#Arduino
1
Code Every Day 🚀
День 28: Заметка 1: Покадровая анимация 👉 Во всех играх для анимации персонажей реализован стандартный подход - покадровая анимация. 👉 Устроено это так: У персонажа может быть несколько состояний, для каждого состояния есть набор кадров. Когда персонаж…
👆 Пояснения к демо

👉 корабль летает по экрану, достигнув края экрана, он меняет состояние, и, соответственно, меняется атлас кадров
👉 текущее состояние корабля выводится в виде текста в левом верхнем углу экрана
👉 иногда корабль обрисован рамкой AABB прямоугольника, хотел показать, как это все вместе перемещается, в обычном режиме прямоугольник не виден
👍1
Code Every Day 🚀
День 28: Заметка 1: Покадровая анимация 👉 Во всех играх для анимации персонажей реализован стандартный подход - покадровая анимация. 👉 Устроено это так: У персонажа может быть несколько состояний, для каждого состояния есть набор кадров. Когда персонаж…
👆 Логика реализации

👉 Главный класс - Sprite, он отвечает за одного персонажа, который будет размещен на экране.
👉 У спрайта есть поле AABB, то есть прямоугольник, в который вписан данный персонаж, из прошлой заметки ясно, что это будет использоваться для определения столкновений.
👉 Для работы с покадровой анимацией реализовал отдельный класс Atlas, который содержит массив изображений (кадров).
👉 У спрайта может быть набор полей атласов спрайтов, для каждого состояния свой.
👍1
👨‍💻Класс Atlas, который хранит массив кадров анимации
👍1
👨‍💻Базовый класс Sprite для логики отображения персонажа на экране
👨‍💻Класс SpaceShipSprite моделирующий космический корабль
👨‍💻Применение SpaceShipSprite
👉 Атлас анимаций содержит по два кадра для каждого состояния

На них видно, как меняется отрисовка огня, это заметно и на видео; ну и также видно, что меняется расположение иллюминатора, тени и др.
👍1