Разработка проэктов

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Разработка проэктов » Другое » Стрельба


Стрельба

Сообщений 1 страница 3 из 3

1

А подскажите пожалуйста как теперь заставить танк стрелять, мы нашли код в интернете с использованием шейпа, он подойдет
If {Нажал на Space то} then

if {танк смотрит вверх то}then

  begin

   timer1.enabled:=true;

   Shape1.visible:=true;

   Shape1.top := Image1.top-Shape1.height;

   vector:=up;//это для таймера чтобы он знал куда направить пулю

end;

0

2

С помощью шейпа не очень хороший вариант, одна пуля да и шейп объект, а вы рисуете на канве.

в самом простом случае это одна пуля.
принцип таков: при нажатии на пробел танк стреляет - вылетает пуля.
дальнейшие нажатия на пробел ни к чему не приводят - пока пуля не долетит до цели и не уничтожется.

заводим две переменные координаты пули px py две переменных скорости пули pxv pyv и переменную активности пули pactive

теперь в процедуре обработки нажатия клавиши пишем

if key=32 and pactive=0 then // если нажат пробел и пуля неативна.т.е. ее нет на экране она не движится.
begin
pactive=1 // активируем пулю.
// присваиваем координатам пули координаты танка.
px=x;
py=y;
//присваеваем скорость пули - тут уже ваш алгоритм скорости  как вы пожелаете.
pxv=........
pyv=........
end

теперь идем все в туже процедуру обработки таймера и в конце дописываем

//если пуля активна то
if pactive=1 then
begin
//меняем координаты пули
px=px+pxv;
py=py+pyv;
//теперь проверяем момент соударения пули с чем либо - это тоже ваш алгоритм я не знаю что вы тут будете делать. не забудьте установить ограничение чтобы пуля деактивировалась и исчезала когда она вылетает за экран
if есть взаимодействие then
begin
// отключаем пулю
pactive=0
//ну и может чтото там взрываться если конечно это нужно
end
end

ну и последнее, не забудьте нарисовать пулю на канве. это можно сделать в процедуре отрисовки спрайта.
пулю можно рисовать как окружностью так и спрайтом из ListImage

если вас интересует технология стрельбы сразу несколькими пулями то пишите, постараюсь объяснить, там надо будет использовать массивы.

0

3

мы сделали пулю она летает, но она выстреливает из координат 0,0 а нужно чтобы из танка, как это реализовать?

0


Вы здесь » Разработка проэктов » Другое » Стрельба