Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SFML/Graphics.hpp>
- const size_t screenWidth = 800;
- const size_t screenHeight = 600;
- class Player {
- public:
- size_t x;
- size_t y;
- double speed;
- sf::Sprite sprite;
- Player(sf::Texture& texture, const std::string& filename, size_t ux = 100, size_t uy = 30, double uspeed = .2): x(ux), y(uy), speed(uspeed) {
- if(texture.loadFromFile(filename))
- sprite.setTexture(texture);
- sprite.setPosition(ux,uy);
- }
- void move() {
- // Moves the sprite.
- if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
- sprite.move(speed,0);
- if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
- sprite.move(-speed,0);
- if(sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
- sprite.move(0,speed);
- if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
- sprite.move(0,-speed);
- //Checks for collision for the border
- sf::Vector2f hold = sprite.getPosition();
- sf::FloatRect coord = sprite.getGlobalBounds();
- if(hold.x < 0) {
- hold.x = 0;
- sprite.setPosition(hold);
- }
- else if(hold.y < 0) {
- hold.y = 0;
- sprite.setPosition(hold);
- }
- else if(hold.x + coord.width> screenWidth) {
- hold.x = screenWidth - coord.width;
- sprite.setPosition(hold);
- }
- else if(hold.y + coord.height > screenHeight) {
- hold.y = screenHeight - coord.height;
- sprite.setPosition(hold);
- }
- }
- };
- int main() {
- sf::Texture texture2;
- Player omok(texture2,"images/omok.png");
- sf::RenderWindow window(sf::VideoMode(screenWidth,screenHeight),"Example",sf::Style::Close);
- while(window.isOpen()) {
- sf::Event event;
- while(window.pollEvent(event)) {
- if(event.type == sf::Event::Closed)
- window.close();
- }
- window.clear();
- window.draw(omok.sprite);
- omok.move();
- window.display();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement