1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| #include "Bullet.h"
using namespace std;
using namespace sf;
Bullet::Bullet(float Initial_X, float Initial_Y, float angle, RenderWindow *APP)
{
vitesse=10;
BulletPosition.x=Initial_X;
BulletPosition.y=Initial_Y;
BulletSprite=Shape::Circle(BulletPosition.x,BulletPosition.y,5,Color::Black);
BulletSprite.SetCenter(BulletSprite.GetScale().x/2,BulletSprite.GetScale().y/2);
BulletSprite.SetRotation(angle);
WinWidth=APP->GetWidth();
WinHeight=APP->GetHeight();
}
//Shape Circle = Shape::Circle(X, Y, Rayon, Couleur, [Bordure], [CouleurBordure]);
void Bullet::UpdatePosition()
{
vx=cos(BulletSprite.GetRotation()*M_PI/180) * vitesse;
vy=sin(BulletSprite.GetRotation()*M_PI/180) * vitesse;
BulletSprite.Move(vx,vy);
}
bool Bullet::CIO()//CheckIfOut
{
if(static_cast<unsigned int>(BulletPosition.x) < 0 &&
static_cast<unsigned int>(BulletPosition.x) > WinWidth &&
static_cast<unsigned int>(BulletPosition.y) < 0 &&
static_cast<unsigned int>(BulletPosition.Y) >WinHeight)
{
cout<<"Bullet out of map"<<endl;
return true;
}
else
{
return false;
}
}
Shape Bullet::GetBulletSprite() const
{
return BulletSprite;
}
Bullet::~Bullet()
{
} |
Partager