46 lines
941 B
C++
46 lines
941 B
C++
#include "../headers/Actor.h"
|
|
|
|
Actor::Actor(int x, int y, std::string path) {
|
|
loadTexture(path);
|
|
position.x = x;
|
|
position.y = y;
|
|
actorSprite.setPosition(x, y);
|
|
}
|
|
|
|
void Actor::loadTexture(std::string path) {
|
|
actorTexture.loadFromFile(path);
|
|
actorSprite.setTexture(actorTexture);
|
|
|
|
bulletTexture.loadFromFile("../assets/img/bullet.png");
|
|
}
|
|
|
|
sf::Sprite &Actor::getSprite() {
|
|
return actorSprite;
|
|
}
|
|
|
|
void Actor::move(float deltaX, float deltaY) {
|
|
actorSprite.move(deltaX, deltaY);
|
|
}
|
|
|
|
void Actor::moveLeft() {
|
|
move(-10.0f, 0.0f);
|
|
position.x -= 10;
|
|
}
|
|
|
|
void Actor::moveRight() {
|
|
move(10.0f, 0.0f);
|
|
position.x += 10;
|
|
}
|
|
|
|
Position Actor::getPosition() {
|
|
return {position.x, position.y};
|
|
}
|
|
|
|
void Actor::shoot() {
|
|
bullets.emplace_back(float(position.x) + actorSprite.getGlobalBounds().width / 2-62, position.y, bulletTexture);
|
|
}
|
|
|
|
std::vector<Bullet> &Actor::getBullets() {
|
|
return bullets;
|
|
}
|