#include #include "../headers/Meteor.h" Meteor::Meteor(float x, float y, sf::Texture &texture) { outOfBounds = false; meteorTexture = texture; meteorSprite.setTexture(texture); meteorSprite.setOrigin(meteorSprite.getLocalBounds().width / 2, meteorSprite.getLocalBounds().height / 2); // wycentrowanie sprite meteorSprite.setPosition(x, y); meteorSpeed = 5.0f; meteorSprite.scale(0.05f, 0.05f); meteorPosition.x = x; meteorPosition.y = y; meteorRotationSpeed = static_cast(rand() % 2 + 1) * (rand() % 2 == 0 ? 1 : -1); } sf::Sprite &Meteor::getSprite() { return meteorSprite; } void Meteor::update() { meteorSprite.move(0.0f, meteorSpeed); // przesunięcie sprajta meteorPosition.y += int(meteorSpeed); // przesunięcie pozycji meteorSprite.rotate(meteorRotationSpeed); // obracanie tym meteorkiem pięknym if(meteorPosition.y > 900) { outOfBounds = true; // jeżeli wyszedł poza granice ekranu ustaw tą zmienną } // std::cout << "x: " << meteorSprite.getPosition().x << std::endl; // std::cout << "y: " << meteorSprite.getPosition().y << std::endl; } bool Meteor::getStatus() { return outOfBounds; } unsigned int Meteor::counter = 0; // było użyte do testowania czy meteoryt jest kasowany //Meteor::~Meteor() { // Meteor::counter++; // std::clog << Meteor::counter << " Meteor destroyed\n"; //}