Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

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

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

Добавлено через 49 минут
Uuup2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2012, 12:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Столкновение объектов (C++):

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

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

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

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

В программе реализовать возможность записи объектов в файл и чтения объектов из файла - C++
Добрый день, помогите, пожалуйста! У меня есть программа: #include <iostream> #include <locale.h> using namespace std; class...

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2012, 12:43
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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