|
15 / 9 / 1
Регистрация: 23.02.2012
Сообщений: 135
|
|
Определение столкновений в простой 2D игре27.10.2012, 13:27. Показов 14114. Ответов 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 Определение состояния соседей в игре в жизнь Дописать определение победителя в игре крестики нолики (по столбцам и строкам, по диагоналям) Определение пользователя - простой вопрос от новичка Простой алгоритм с модулями (Ошибка: отсутствует определение процедуры) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|