Code Every Day 🚀
30 subscribers
687 photos
243 videos
22 files
174 links
Просто для развлечения
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Основы KorGE: Drag and drop для спрайта

🎯 В KorGE для View реализованы расширения, которые фактически в одну строчку кода позволяют добавить логику перетаскивания объекта по экрану. Сегодня исследовал эту возможность на примере прототипа.

👉 Можно получать информацию в процессе перетаскивания, чтобы использовать это для своих целей. Например, если пользователь перетянул объект за пределы экрана, можно его вернуть в пределы экрана программно.

👉 Пример на демо
#KorGE
👉 Кусочек кода, отвечающий за drag and drop
This media is not supported in your browser
VIEW IN TELEGRAM
Вот пример того, как можно использовать информацию о процессе перетаскивания
👉 текущие координаты выводятся на экран в debugText
👉 при попытке вытащить за предел экрана объект спрайта, происходит корректировка координат, спрайт возвращается на экран сам
#KorGE
👉 Расширенный пример кода drag and drop
👉 Также провел рефакторинг, код стал более читаемым
Для удобства ссылка на последние изменения https://github.com/TheELizarov/korge-playground-1/blob/playground/using-inputs/src/commonMain/kotlin/main.kt
This media is not supported in your browser
VIEW IN TELEGRAM
Основы KorGE: Управление спрайтом с клавиатуры

🎯 У KorGE View есть встроенные методы для перехвата нажатия на клавиши клавиатуры. Добавить управление спрайтом оказалось несложно.

👉 Документация https://docs.korge.org/views/input/#keys

👉 Пример работы на демо
#KorGE
👉 Детали прототипа для управления спрайтом с клавитуры на скриншотах
👉 Чтобы спрайт не улетал за пределы экрана, нужно проверять, не вышли ли рассчетные координаты спрайта за пределы и корректировать их
This media is not supported in your browser
VIEW IN TELEGRAM
Основы KorGE: Добавление вирутального контроллера для управления спрайтом

🎯 В играх на смартфонах или планшетах часто пользователю предоставляется возможность управления с помощью виртуального контроллера. Сегодня пробовал реализовать управление спрайтом таким образом.

👉 Изучая проект KorGE в одном из шаблонов нашел модуль, который отвечает за создание виртуального контроллера, его скопировал в проект и попробовал использовать.

👉 Код контроллера https://github.com/TheELizarov/korge-playground-1/blob/playground/using-inputs/src/commonMain/kotlin/VirtualController.kt

🤔 До конца не разобрался, как его правильно использовать, пока просто покажу пример простого применения.

👉 Вирутальный контроллер синхронизируется с реальным, например, когда я жму на клавиши клавиатуры, он меняет состояние, тоже самое скорее всего (судя по коду контроллера) будет и с подключенным джойстиком.

Демо с примером работы прикладываю.
#KorGE
👉 Код работы с виртуальным контроллеом
This media is not supported in your browser
VIEW IN TELEGRAM
Основы KorGE: Работа с коллизиями

🎯 У View KorGE есть набор встроенных методов для обработки коллизий. Используя это решил реализовать прототип, в котором орел подлетает к вишне и съедает ее.

👉 Документация для работы с коллизиями https://docs.korge.org/physics/

Пример на демо
#KorGE
👉 Код прототипа на скриншотах
👉 Для удобства https://github.com/TheELizarov/korge-playground-1/blob/playground/apply-collisions/src/commonMain/kotlin/main.kt
This media is not supported in your browser
VIEW IN TELEGRAM
Вот еще модифицированный прототип для "Орла и вишни"

👉️️ В момент коллизии добавляем проигрываение спрайта взрыва единожды, получается эффектно

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

Пример на демо
👉 Кусочек кода, который добавляет спрайт взрыва