Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Столкновение объектов!


Автор: vladantar 26.6.2010, 12:03
Я делаю не большую 2d игру! Но не знаю как имитировать столкновение! Игрок это Image1 двигается с помощью клавиатурных стрелок и при прикосновении Image2 он останавливается! Я на форме хочу растравить много одинаковых Image стенок и как мне сделать так что-бы Image1 стукался об все image2\30!

Автор: SVN74 27.6.2010, 11:57
Только  координатное  сравнение Вам поможет.
Может для создания  игр просто взять готовый движок и создавать нормальные игры и не изобретать велосипед...


Автор: vladantar 27.6.2010, 18:48
Я раньше использовал этот код!

if (Man->Left >= SpeedButton1->Left -32 && Man->Left <= SpeedButton1->Left + 32 &&  Man->Top == SpeedButton1->Top +32) Man->Top = Man->Top +1;
if (Man->Left >= SpeedButton1->Left - 32 && Man->Left <= SpeedButton1->Left + 32 &&  Man->Top == SpeedButton1->Top - 32) Man->Top = Man->Top -1;
if (Man->Top <= SpeedButton1->Top +32 && Man->Top > SpeedButton1->Top -32 && Man->Left == SpeedButton1->Left +32)Man->Left = Man->Left +1;
if (Man->Top <= SpeedButton1->Top +32 && Man->Top > SpeedButton1->Top -32 && Man->Left == SpeedButton1->Left -32)Man->Left = Man->Left -1; 
Здесь Men это игрок, а SpeedButton1 это стена!
Но этот код нужен для каждой стены и код большой получается! А на форме у меня около 100 SpeedButton'ов!

Автор: SVN74 27.6.2010, 22:39
В таком случае Вам необходимо применять массивы для объектов ...

Автор: Dem_max 28.6.2010, 16:35
В примерах билдера можно найти все что надо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)