Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Еще один вопрос, как сделать дым за каждой рокетой [Delphi, Windows]


MozG ©   (2003-10-20 14:21:00) 

На DelphiX

Вот игрок у меня выпускает ракету, сразу на экране их может быть много.
В процедуре DoMove я написал (через каждые условно 15 единиц создавать дым, координаты дыма:
Rocket.X;
Rocket.Y;)
Всё нормально, рокета летит и за ней образуется дым, но когда их на экране много, то:
Летит рокета, а за ней дым, когда выстреливаешь другую рокету, то дым образуется уже за ней, а предыдущая рокета летит без дыма. Как сделать чтобы дым создавался за каждой рокетой (плз объясните подробнее)?


MozG   (2003-10-21 14:00:00) [1]

Да спасибо, я уже разобрался, может кто-нибудь ответит на мой вопрос про клавиши?


Namo   (2003-10-20 20:57:00) [2]

ну а в массиве все вообще просто, просто циклом перебираем все ракеты и к каждой рисуем след. можно сделать анимированный и изогнутый, при этом рисовать два или три последних. а вообще если допустим был бы 1 дымок, то первого варианта хватило бы.
если в игре есть возможность ограничить кол-во ракет, которое можно выпустить в определенный промежуток времени, то вобще проблем не должно быть.


Kobik   (2003-10-20 19:09:00) [3]

1)
>>Rocket.X;
>>Rocket.Y;)
это координаты 1 ракет. Если их много, то они наверно в массиве?

2)процедура DoMove выполняется для каждой ракеты, или цикл по всем ракетам идет внутри процедуры?

3)Лучше напиши всю процедуру DoMove (вместе с заголовком) - мроще будет разобраться.


MozG   (2003-10-20 16:38:00) [4]

Да, я имею ввиду дымовой след(цепочка), блин как же это объяснить-то, короче...
Дым создается по координатам рокеты, но когда рокет больше, чем одна, то он создается только по координатам последней рокеты...


Mihey   (2003-10-20 16:16:00) [5]

> попробуй спрайты рисовать сразу с дымом. т.е. в файле с изображением ракеты - имхо самое простое. все равно ракета без дыма не летает ;)

Кстати, хорошая идея, но тогда не получится дымовой цепочки, которая повторяет след ракеты. Я бы просто рисовал дым тогда, когда рисуется ракета, отдельными спрайтами, работая с координатами каждой части дыма отдельно.


Namo   (2003-10-20 14:46:00) [6]

попробуй спрайты рисовать сразу с дымом. т.е. в файле с изображением ракеты - имхо самое простое. все равно ракета без дыма не летает ;)


Наверх

Титульная страница Поиск, карта сайта Написать письмо