Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ksan
26 / 26 / 0
Регистрация: 02.11.2010
Сообщений: 370
#1

Столкновение объектов - C++

24.05.2012, 12:43. Просмотров 868. Ответов 0
Метки нет (Все метки)

Собираюсь писать игру на SDL. В ней придется обрабатывать столкновения произвольных объектов. Меня интересует не физика, а именно как определить, столкнулись или нет и если столкнулись, то чем?

Проще говоря, есть игровая плоскость. По ней движутся 2 объекта. У каждого объекта есть Surface (2-мерный массив, в котором значения могут принимать 0 или 1. 0 - значит там пустота, 1 - не пустота. У каждого объекта есть координаты. Так вот как узнать, когда объекты столкнутся?

Я придумал 2 решения, но они ресурсотребовательны:

1) способ "в лоб": Сравнить каждую точку 1го массива с каждой точкой второго, если координаты одинаковые -> столкновение.
2) способ "по лбу": создать 2мерный массив игровой плоскости и скопировать на него один из массивов объектов. Потом сравнивать каждую точку другого массива с точкой на плоскости, где она (точка) находится.

Есть ли другие способы? И насколько оптимален 2рой мной описанный?

Добавлено через 1 час 3 минуты
uuuup

Добавлено через 49 минут
Uuup2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2012, 12:43     Столкновение объектов
Посмотрите здесь:

Столкновение объектов в играх - C++
Кто что подскажет/посоветует_почитать по поводу физики в играх, в частности столкновения объектов. (интересует само решение задач,...

столкновение - C++
Ф ребята, я вот хочу написать примитивную игру, типа гонки(так сказать) на С++, но никак не могу реализовать сталкивание(((... Посмотрите...

Столкновение шаров - C++
Помогите пожалуйста написать условие столкновения шаров void impact(Sphera & a,Sphera & b) { ...

Столкновение функций - C++
У меня при работе программы получается странная ситуация: 1) включается программа 2) в дополнительном потоке включается...

Графика С++, столкновение шаров - C++
дана задача: на экране движутся два шара разного размера и разной скоростью. Начальны размер выбирается пользователем (из 3-х вариантов),...

Столкновение окружности с прямоугольником - C++
1) Как определить момент столкновения окружности с прямоугольником? 2) Как отразить направление окружности в момент столкновения с одной...

Центральное столкновение шаров - C++
Здравствуйте! Написал программу для центрального столкновения двух шаров...но программа выполняется некорректно....подскажите, что не так...

Столкновение двух окружностей - C++
Итак,я сталкиваю два шарика(но вообще их больше,массив). Какое-то время после старта программы все нормально,однако спустя некоторое...

Реализовать столкновение шарика со стенкой - C++
Делаю очень примитивную игру - лабиринт, необходимо чтобы шарик сталкивался со стенкой. Условие столкновения есть: if (ball.x < h_wall.x...

Столкновение спрайта и закрашеного квадратика - C++
Как мне реализовать столкновение, что бы не проходить сквозь закрашенные квадраты а стоять на их,В 2д игре. За код сильно не судить брал...

Симулятор боя(Реализовать программу, позволяющую моделировать боевое столкновение двух противников, располагающих пехотой, танками и артиллерией) - C++
Симулятор боя. Реализовать программу, позволяющую моделировать боевое столкновение двух противников, располагающих пехотой, танками и...

массив объектов - C++
добрый вечер всем. Возникла такая проблема - необходимо создать массив деков символов. Я хочу создать пустой объект - нулевого размера. а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru