Вниз
Скачать: CL | DM;

АРКАНОЙД   Найти похожие ветки 

 
010101001010001010101001   (2004-03-11 21:34) [0]

Кто-нибудь объясните как сделать арканойд. Хотя бы самые основные алгоритмы. Плиз!


 
Servelat ©   (2004-03-11 22:21) [1]

>Хотя бы самые основные алгоритмы.
В принципе, все просто: летает шарик, врезается в кирпичи и доску снизу :) . Да это ты и сам знаешь :). В чем проблема реализации? Задай конкретный вопрос: "немогу отследить врезание шарика в кирпич" (или любой другой) - сразу тебе предложат пяток вариантов решения.
Кстати, если не изменяет память, на DelphiGFX был арканоид, посмотри там.


 
TButton ©   (2004-03-11 23:20) [2]

немогу отследить врезание шарика в кирпич
с доской разобрался, с кирпичами - нет. пользую DelphiX (DDraw, DXTimer), DXSpriteEngine - не пользую, не нравится мне он.


 
lyeh ©   (2004-03-12 00:18) [3]

TButton ©
Так это ты спрашиваешь?

А вопрос действительно непонятен... Если можешь определить столкновение с доской, с кирпичами тогда что?


 
Servelat ©   (2004-03-12 08:07) [4]

с доской разобрался, с кирпичами - нет
Я тоже пишу арканоид, и все совсем наоборот: с кирпичами разобрался, а с доской - еще нет :) . Давай меняться ? :)
Вообще, у меня получилось не сложно, но довольно длинно, на пальцах не объяснить. Могу код послать.


 
010101001010001010101001   (2004-03-12 20:34) [5]

Не могу определить столкновение с кирпичиками и самой палкой. Я хочу попробывать безу DelphiX


 
Zeqfreed ©   (2004-03-12 21:36) [6]

С панелькой - легко:
if (Ball.Y > Panel.Y - 5) and (Ball.Y < Panel.Y + Panel.Height + 5) and (Ball.X > (Panel.X - Panel.Width div 2)) and (Ball.X < (Panel.X + Panel.Width div 2)) then Ball.SpeedY := -Ball.SpeedY;


 
Zeqfreed ©   (2004-03-12 21:40) [7]

А с кирпичами тоже не сложно... IntersectRect поможет (если не требуется большой точности, то вполне кдовлетворительно получится)...


 
TButton ©   (2004-03-12 23:39) [8]

Zeqfreed © [6]
ага, я об том же


 
Asteroid ©   (2004-03-13 09:30) [9]

Геморройнее сделатьт нормамльный отскок (при ударе об угол).


 
010101001010001010101001   (2004-03-13 17:11) [10]

Вот в этом отскоке тоже есть проблемы, можете подсказать, как его правильно зделать?


 
010101001010001010101001   (2004-03-13 20:09) [11]

Ну, никто не знает?


 
cyborg ©   (2004-03-13 21:58) [12]

Если шарик ударился, например, в пределах пяти пикселей с края платформы, то смещение по Х сделай как OfsX=-(OfsX+random(3))


 
010101001010001010101001   (2004-03-14 10:42) [13]

Я УЖЕ ПОЧТИ ВСЁ СДЕЛАЛ, но вот одна проблемма осталось - как отследить, что ball ударился об горизонтальную или вертикальтую грань кирпичика. Ведь от этого меняется эффект с оси X на ось Y.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.02 c
4-1085434225
Seldon
2004-05-25 01:30
2004.07.04
Как получить имя и путь всех процессов?


1-1087881907
Дарья
2004-06-22 09:25
2004.07.04
Помогите пожалуйста !


3-1086788169
Stupid
2004-06-09 17:36
2004.07.04
Как в DBGrid узнать ширину V_Scrolla и колонки что до полей?


14-1087266575
Думкин
2004-06-15 06:29
2004.07.04
С днем рождения! 15 июня


4-1085552550
Asdor
2004-05-26 10:22
2004.07.04
Мониторинг исключений




   Наверх