Hi :)
hab ein kleines Problem, undzwar hab ich mir eine Spieler Klasse geschrieben und diese in eine hpp und eine cpp datei aufgeteilt.
das einfügen der spieler.hpp in die spieler.cpp ist kein Problem allerdings mekert der Compiler wenn ich die spieler.hpp in die main einfügen möchte.
Hier mal meine Codes.
Spieler.cpp :
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#include <SFML\Graphics.hpp>
#include "Spieler.hpp"
class Spieler
{
private:
//Char werte
int iLeben;
int iKraft;
int iSchild;
//bool für leben und image laden
bool bAlive;
//Image
sf::Image Image;
//Sprites
sf::Sprite Sprite;
public:
void init()
{
//Image laden
Image.LoadFromFile("fly.png");
Image.CreateMaskFromColor(sf::Color(255,255,255));
//Image an Sprite geben
Sprite.SetImage(Image);
Sprite.SetScale(0.2,0.2);
//Werte initialisieren
iLeben = 100;
iKraft = 50;
iSchild = 100;
bAlive = true;
}
void move(const sf::Input& Input)
{
Sprite.SetPosition(Input.GetMouseX()-25,Input.GetMouseY()-25);
}
void render(sf::RenderWindow &App)
{
App.ShowMouseCursor(false);
if(bAlive == true)
{
App.Draw(Sprite);
}
}
};
|
spieler.hpp :
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <SFML\Graphics.hpp>
class Spieler
{
private:
//Char werte
int iLeben;
int iKraft;
int iSchild;
//bool für leben und image laden
bool bAlive;
//Image
static sf::Image Image;
//Sprites
sf::Sprite Sprite;
public:
void init();
void move(const sf::Input& Input);
void render(sf::RenderWindow &App);
};
|
und zum Schluss die main :
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
//Includes
#include <SFML\Graphics.hpp>
#include <iostream>
#include "Spieler.hpp"
using namespace std;
//Variabeln & Events
sf::Event Event;
int main()
{
//Fenster
sf::RenderWindow App(sf::VideoMode(1366, 768, 32), "Klassen Test",sf::Style::Fullscreen);
App.SetFramerateLimit(150);
//Input
const sf::Input& Input = App.GetInput();
//Spieler initialisieren
Spieler Marcel;
Marcel.init();
while (App.IsOpened())
{
while (App.GetEvent(Event))
{
// Fenster geschlossen -> Programm beenden
if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
{
App.Close();
}
}
//Class Spieler bewegen
Marcel.bewegen(Input);
App.Clear(sf::Color(190,190,190,1));
//Class Spieler zeichnen
Marcel.render(App);
App.Display();
}
return 0;
}
|
Danke im vofeld.
MfG Marcel