Змінюй хід війни! Допомагай ЗСУ!

Как сделать так чтобы пуля выпущенная из корабля летела вверх?

🔴 21:26 Повітряна тривога в Харків.обл.
Статус: Offline
Реєстрація: 04.07.2008
Повідом.: 675
  • 🔴 21:26 Повітряна тривога в Харків.обл.
  • #1
Как сделать так чтобы пуля выпущенная из корабля летела вверх????

У меня есть Класс Пуля
#include "shot.h"

shot::shot(void)
{
int mode2=0;
int shotx=0;
int shoty=0;
int frame2=1;

}
void shot::load_shot()
{
for(int i=0; i<10; i++)
{
TCHAR buff[200];
swprintf_s(buff,200,L"shooting2/%d.png",i);
Image* im = new Image(buff);
shooting_vec.push_back(im);

}
}
void shot::draw_shooting(Graphics* g,int x,int y)
{
shotx=x-325;
shoty=y-350;
Image* imageP2 = shooting_vec[frame2];
//g->DrawImage(imageP2, shotx,shoty);



}

void shot::AddFrame1()
{
switch(mode2)
{
case shooting:
{
frame2++;
if(frame2>8)frame2=0;
}break;
}


}

shot::~shot(void)
{
}

И в коде кнопке по которой я буду выпускать пулю например написано так:

if(keys[VK_SPACE])
{

for(unsigned int i=0;i<shot_bang.shooting_vec.size();i++)
{

SHAT.push_back(shot_bang.shooting_vec);

//g->DrawImage(imageP2, shotx,shoty);
//Image* imageP2 = shooting_vec[frame2];
//g->DrawImage(imageP2, shotx,shoty);


}
while(((y-350)+shoot_c)!=rect.top)
{
for(unsigned int F=1;F<SHAT.size();F++)
{


Image* IMG = SHAT[F];

g1.DrawImage(IMG,x-325,(y-350)+shoot_c);
}
}

//shot_bang.draw_shooting(&g1,x,y);





}

Что нужно чтобы можно было выпускать несколько пуль подряд?чтоб они летели вверх?Подскажите пожалуйста
 
  • 🔴 21:26 Повітряна тривога в Харків.обл.
  • #2
У коробля есть позиция в момент выстрела - Эта позиция - стартовая для пули. А потом по инкременту смещаем её по оси Y (это если у тебя двухмерная игра в плоскости)
Я конечно под WinAPI не писал никогда... но таких игр в консоле перепедалил вайлом)) Сразу на С# перескочил))) там всё гараздо проще))

Если хочешь - могу помочь с заданием за вознаграждение))

P.S Если мне не изменяет память, то вместе shortx и shorty можно использовать COORD short; Потом short.x = ... и short.y = ...
Это в консоле я так делал... не знаю как WinApi, но думаю что также
 
Останнє редагування:
Назад
Зверху Знизу