Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.12.2008, 19:14
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию Ребята, как описать попадание ядра в корабль и чтоб потом он остановился?

Ребята подскажите пожалуйста, как описать попадание ядра в корабль и чтоб после этого он остановился.

Я использовал image и Timer для корабля и ядра, а также onKeyDown

при нажатии на клавишу выстреливает ядро и при попадании должно остановить корабль , как вот это сделать? и где прописать ?
Ответить с цитированием
  #2  
Старый 18.12.2008, 19:17
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А как ядро летит? Прямо?
Условие попадания (в случае идеальных точек) - совпадение координат.
Для не идеальных точек - пересечение областей ядра и корабля. Т.е. ядро у тебя это круг. Корабль, допустим, квадрат. В момент, когда круг и квадрат пересекаются (решение соотв. уравнения) считаем, что ядро попало в корабль. В этом случае достаточно просто остановить таймер (Timer1.Enabled := False).
Ответить с цитированием
  #3  
Старый 18.12.2008, 23:36
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

да ядро у меня круглое а квадрат корабль , ядро летит четко прямолинейно и при совпадении координат должен кораблик остановиться
Ответить с цитированием
  #4  
Старый 19.12.2008, 01:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну вот так, как я описал, и делай.
Не видя твоих исходников посоветовать что-то более конкретное тяжело.
Ответить с цитированием
  #5  
Старый 19.12.2008, 18:17
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

ага понятно а как эти совпадения координат описать? и где в формкреат или в онкейдаун, или в таймере?
на самом простом примере?
Ответить с цитированием
  #6  
Старый 20.12.2008, 18:15
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию

В таймере (даже в самом сложном примере).
+
совет, судя по вопросам, ты совсем кхе...кхе... и не догадался сделать массивы координат. так что сделай массивы координат. т.е.

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  
Старый 20.12.2008, 18:55
joomler joomler вне форума
Новичок
 
Регистрация: 11.10.2008
Сообщения: 88
Репутация: 10
По умолчанию

спасибо большое)))))
я про координаты и не подумал, хотел как то стороны рисунков описать.
я начинающий вот пробую игрушку свою маленькую создать, спасибо еще раз
Ответить с цитированием
  #8  
Старый 20.12.2008, 21:09
DungeonLords DungeonLords вне форума
Активный
 
Регистрация: 21.07.2008
Сообщения: 257
Репутация: 14
По умолчанию

ОЙ... Извеняюсь!
Я ошибку допустил! Ненадо делать массивы,у тебя же image (я 1-ый пост плохо прочитал), а у него свойства Top, Left...Так что используй эти свойства (как ты и думал.)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:02.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025