![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Ребята подскажите пожалуйста, как описать попадание ядра в корабль и чтоб после этого он остановился.
Я использовал image и Timer для корабля и ядра, а также onKeyDown при нажатии на клавишу выстреливает ядро и при попадании должно остановить корабль , как вот это сделать? и где прописать ? |
#2
|
|||
|
|||
![]() А как ядро летит? Прямо?
Условие попадания (в случае идеальных точек) - совпадение координат. Для не идеальных точек - пересечение областей ядра и корабля. Т.е. ядро у тебя это круг. Корабль, допустим, квадрат. В момент, когда круг и квадрат пересекаются (решение соотв. уравнения) считаем, что ядро попало в корабль. В этом случае достаточно просто остановить таймер (Timer1.Enabled := False). |
#3
|
|||
|
|||
![]() да ядро у меня круглое а квадрат корабль , ядро летит четко прямолинейно и при совпадении координат должен кораблик остановиться
|
#4
|
|||
|
|||
![]() Ну вот так, как я описал, и делай.
Не видя твоих исходников посоветовать что-то более конкретное тяжело. |
#5
|
|||
|
|||
![]() ага понятно а как эти совпадения координат описать? и где в формкреат или в онкейдаун, или в таймере?
на самом простом примере? |
#6
|
|||
|
|||
![]() В таймере (даже в самом сложном примере).
+ совет, судя по вопросам, ты совсем кхе...кхе... и не догадался сделать массивы координат. так что сделай массивы координат. т.е. VAR yadro{ядро} : array [0..1] of Integer; // 0 - по X;1 - по Y car{корабль} : array[0..1] of Integer;//0 - по X; 1 - по Y и пиши проверку столкновений if yadro[0] = car[0] then if yadro[1] = car[1] then {И здесь пишешь, что корабль останавливается (я бы сказал больше видя исходники.)} P.S. Я преокрою для тебя мир игроделия : http://www.glscene.ru/ |
#7
|
|||
|
|||
![]() спасибо большое)))))
я про координаты и не подумал, хотел как то стороны рисунков описать. я начинающий вот пробую игрушку свою маленькую создать, спасибо еще раз ![]() |
#8
|
|||
|
|||
![]() ОЙ... Извеняюсь!
Я ошибку допустил! Ненадо делать массивы,у тебя же image (я 1-ый пост плохо прочитал), а у него свойства Top, Left...Так что используй эти свойства (как ты и думал.) |