|
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
|
|
Определение столкновений в простой 2D игре27.10.2012, 13:27. Показов 14092. Ответов 4
Метки нет (Все метки)
Пишу 2D игру (что-то вроде марио
).В ней есть игрок и всякие предметы. Надо сделать функцию которая будет проверять не вошёл ли игрок в стену или в ящик, и если вошёл то вытащить его в самое доступное место)) У меня есть: 1) Координаты левого верхнего и правого нижнего угла игрока. (всего 4 переменные - по 2 координаты на точку (или угол, как вам удобнее)) 2) Координаты левого верхнего и правого нижнего угла ящика. (то же самое, 4 переменные) 3) Ширина и высота игрока 4) Ширина и высота ящика Выглядит столкновение примерно так (игрок - зеленый, ящик - синий): A,A1,A2 и B,B1,B2 - не существует)) Вместо A1 - A1X и A1Y (2 координаты этой точки), вместо B2 - B2X и B2Y и т.д. Надо получить всего 2 числа - на сколько надо сдвинуть игрока по оси X (B1X и B2X) и по Y (B1Y и B2Y) чтобы он вылез из синего квадрата, еще раз - В САМОЕ ДОСТУПНОЕ МЕСТО (в данном случае надо сдвинуть вправо). - 1) оба числа могут быть отрицательными (если надо двигать игрока влево или вверх) 2) игрок не должен деформироваться, т.е. его ширина и высота не должны измениться И это не всё. Так как игрок может двигаться, а ящик (в моей игре) парить в воздухе, может случиться и такая ситуация: Тогда игрока надо сдвинуть ВНИЗ. Не смейтесь над тем как я поставил задачу, и что я делаю в программировании без элементарных знаний математики .
0
|
|
| 27.10.2012, 13:27 | |
|
Ответы с готовыми решениями:
4
Обработка столкновений в консольной игре Collision detection или определение столкновений Обработка столкновений в игре "Танчики" |
|
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
|
|
| 30.10.2012, 10:16 | |
|
Все куда проще чем ты думаешь.
Вот тебе проверка столкновений http://www.gamedev.ru/terms/AABB Вот тут почитай про математику http://habrahabr.ru/post/131931/ На счет AABB там нужно будет найти величину наложения которую нужно будет умножить на ветор напровления. Почитай если будет не понятно, отпиши тут. (Читай до полного просветления, сам так делаю )
1
|
|
|
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
|
|
| 01.11.2012, 11:48 [ТС] | |
|
Вот это идеально:
http://noregret.org/tutor/n/co... epaxis.swf Только у меня нет идей как это реализовать
0
|
|
|
86 / 81 / 28
Регистрация: 02.08.2011
Сообщений: 335
|
||||||||||||||||||||||||||
| 01.11.2012, 13:07 | ||||||||||||||||||||||||||
|
Попробую по памяти накидать:
Вот структуры(пример):
// где mt вектор перемещения для a
Добавлено через 22 минуты
вот что значит быстро печатать вместо a.c[0] => a.c.x; a.c[1] => a.c.y; для b тоже самое
1
|
||||||||||||||||||||||||||
|
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
|
|
| 01.11.2012, 13:13 [ТС] | |
|
OMFG!!! it's work! ;D
спасибо огромное!!) тему можно закрыть)
0
|
|
| 01.11.2012, 13:13 | |
|
Помогаю со студенческими работами здесь
5
MVC в простой игре на swing Определение состояния соседей в игре в жизнь Дописать определение победителя в игре крестики нолики (по столбцам и строкам, по диагоналям) Определение пользователя - простой вопрос от новичка Простой алгоритм с модулями (Ошибка: отсутствует определение процедуры) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|