Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <SFML/Graphics.hpp>
- #include "Animation.h"
- #include "Player.h"
- #include "Fence.h"
- static const float VIEW_HEIGHT = 900;
- static const float VIEW_WIDTH = 1500;
- void ResizeView(const sf::RenderWindow& window, sf::View & view)
- {
- float aspectRatio = float(window.getSize().x) / float(window.getSize().y);
- view.setSize(VIEW_WIDTH * aspectRatio, VIEW_HEIGHT);
- }
- int main()
- {
- sf::RenderWindow window(sf::VideoMode(VIEW_WIDTH, VIEW_HEIGHT, 32), "DUDUDUD", sf::Style::Close | sf::Style::Resize);
- sf::Texture playerTexture;
- playerTexture.loadFromFile("player_layout.png");
- sf::Texture background_texture;
- background_texture.loadFromFile("background.jpg");
- sf::Sprite map;
- map.setTexture(background_texture);
- sf::View view(sf::Vector2f(0.0f, 0.0f), sf::Vector2f(VIEW_WIDTH, VIEW_HEIGHT));
- Fence fence1(nullptr, sf::Vector2f(400.0f, 200.0f), sf::Vector2f(500.0f, 100.0f));
- Fence fence2(nullptr, sf::Vector2f(200.0f, 200.0f), sf::Vector2f(100.0f, 0.0f));
- Player player(&playerTexture, sf::Vector2u(4, 4), 0.1f, 100.0f);
- float deltatime = 0.0f;
- sf::Clock clock;
- while (window.isOpen())
- {
- deltatime = clock.restart().asSeconds();
- sf::Event zdarzenie;
- while (window.pollEvent(zdarzenie))
- {
- switch (zdarzenie.type)
- {
- case sf::Event::Closed:
- window.close();
- break;
- case sf::Event::KeyPressed:
- if (zdarzenie.key.code == sf::Keyboard::Escape)
- window.close();
- break;
- case sf::Event::Resized:
- ResizeView(window, view);
- break;
- default:
- break;
- }
- }
- player.Update(deltatime);
- view.setCenter(player.GetPosition());
- fence1.GetCollider().CheckCollision(player.GetCollider(), 1.0f);
- fence2.GetCollider().CheckCollision(player.GetCollider(), 1.0f);
- view.setCenter(player.GetPosition());
- window.clear(sf::Color::Black);
- window.draw(map);
- player.Draw(window, view);
- fence1.Draw(window);
- fence2.Draw(window);
- window.display();
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment