Lars_Knaup

[C++][SFML]Problem

Jun 22nd, 2011
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.23 KB | None | 0 0
  1. // player.cpp
  2. #include <SFML/Graphics.hpp>
  3. #include "player.h"
  4.  
  5. // Konstruktor: Initialisiert den Spieler
  6. player::player ()
  7. {
  8.     lives = 5;                                          // Anzahl der Leben auf 5 setzen
  9.     alive = true;                                       // Spieler lebt
  10.  
  11.     Image.LoadFromFile("/data/player.png");         // Bild von Spieler laden
  12.     Image.CreateMaskFromColor(sf::Color(255, 0, 255));      // Die Farbe lila soll nicht beachtet werden
  13.  
  14.     Sprite.SetImage(Image);                 // Image an Sprite geben
  15. }
  16.  
  17. // void player::move ()
  18. // Aufgabe: Spieler bewegen mit Pfeiltasten
  19. void player::move ()
  20. {
  21.     // Vergangene Zeit rausbekommen
  22.     float ElapsedTime = app.GetFrameTime ();
  23.  
  24.     // Spieler bewegen
  25.     if (app.GetInput().IsKeyDown(sf::Key::Left))  Sprite.Move(-100 * ElapsedTime, 0);
  26.     if (app.GetInput().IsKeyDown(sf::Key::Right)) Sprite.Move( 100 * ElapsedTime, 0);
  27.     if (app.GetInput().IsKeyDown(sf::Key::Up))    Sprite.Move(0, -100 * ElapsedTime);
  28.     if (app.GetInput().IsKeyDown(sf::Key::Down))  Sprite.Move(0,  100 * ElapsedTime);
  29. }
  30.  
  31. // void player::render (sf::RenderWindow app)
  32. void player::render (sf::RenderWindow app)
  33. {
  34.     if (alive == true)
  35.     {
  36.         app.Draw (Sprite);
  37.     }
  38. }
  39.  
  40. // player.h
  41. #include <SFML/Graphics.hpp>
  42.  
  43. class player
  44. {
  45. private:
  46.     int lives;                  // Anzahl der Leben des Spielers
  47.     bool alive;                 // Lebt Spieler? Ja / Nein?
  48.     sf::Image Image;                // Image des Spielers
  49.     sf::Sprite Sprite;              // Sprite des Spielers
  50.  
  51. public:
  52.     player ();              // Konstruktor
  53.     void move ();               // Spieler bewegen
  54.     void render (sf::RenderWindow app); // Sachen auf Bildschirm rendern
  55. }
  56.  
  57. // main.cpp
  58. #include <SFML/Graphics.hpp>
  59. #include "player.h"
  60. #include <iostream>
  61.  
  62. using namespace std;
  63.  
  64. int main ()
  65. {
  66.     // Fenster erstellen
  67.     sf::RenderWindow app(sf::VideoMode(800, 600, 32), "TankWars v0.1");
  68.     app.SetFramerateLimit(50);
  69.  
  70.     // Objekt von Klasse player erstellen
  71.     player player1;
  72.  
  73.     sf::Event Event;
  74.  
  75.     // Events verarbeiten
  76.     while (app.GetEvent(Event))
  77.     {
  78.         // Close window : exit
  79.         if (Event.Type == sf::Event::Closed)
  80.         app.Close();
  81.     }
  82.  
  83.     // Spieler bewegen
  84.     player1.move();
  85.  
  86.     // Bildschirm weiß übermalen
  87.     app.Clear(sf::Color(255,255,255));
  88.  
  89.     // Sprite malen
  90.     player1.render(app);
  91.    
  92.     // Alles auf Bildschirm anzeigen
  93.     app.Display();
  94. }
Advertisement
Add Comment
Please, Sign In to add comment