Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.12.2010, 20:36

[solved] SFML Sprite in Klasse deklarieren

Hallo, wie, wann und wo muss ich bei folgender Deklaration das Sprite definieren damit ich normal damit arbeiten kann?

Wenn ich im Konstruktor auf Spielfigur. zugreifen will bekomme ich gesagt das keine Member verfügbar sind?! :cursing:

C-/C++-Quelltext

1
2
3
4
5
6
7
class Spieler
{
private:
    sf::Sprite Spielfigur;
public:
    Spieler();
}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »D1373r« (30.12.2010, 22:00)


2

30.12.2010, 20:45

Ich empfehle dir die Basics der OOP nochmal anzuschauen, da du vieles scheinbar nicht verstanden hast.

Wenn du folgendes im Konstruktor machst:

C-/C++-Quelltext

1
2
3
4
Spieler::Spieler()
{
    Spielfigur.myPosition.x = 100;
}


Dann ist dies nicht möglich, da myPosition als private deklariert ist.
Ich weiß jetzt nicht ob das dein Problem ist oder ob du überhaupt schon Erfahrung in C++ hast.

Zeig mal den Konstruktor Code.

3

30.12.2010, 20:55

Hi Batzer, danke für deine Antwort, machen wollte ich sowas:

C-/C++-Quelltext

1
2
3
4
Spieler::Spieler()
{
    Spielfigur.SetPosition(100,100);
}


Normalerweise klappt ja beim tippen des Punktes nach Spielfigur eine Liste mit den verfügbaren Funktionen auf, was aber nicht geschieht. Bekomme halt nur gesagt das keine Member verfügbar sind.

4

30.12.2010, 21:01

Hast du in der .cpp Datei deine .h Datei inkludiert?

5

30.12.2010, 21:01

Mmh sollte eigl. okay sein.
Hast du die Libs gelinkt und die Header-Verzeichnisse eingetragen?
Ansonsten kompilier den Code mal und poste die Fehlermeldung.

6

30.12.2010, 21:03

ja hab ich gemacht:

C-/C++-Quelltext

1
2
#include "Spieler.h"
#include <SFML/Graphics.hpp>

7

30.12.2010, 21:07

Hast du in der Spieler.h auch SFML/Graphics.hpp inkludiert?

Muss dann so aussehen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
/*Spieler.h*/
#include<SFML/Graphics.hpp>

class Spieler
{
    private:
        sf::Sprite spielfigur;

    public:
        Spieler();
};


C-/C++-Quelltext

1
2
3
4
5
6
7
/*Spieler.cpp*/
#include"Spieler.h"

Spieler::Spieler()
{
    //What ever
}

8

30.12.2010, 21:09

Danke Batzer, das war die Lösung :)

9

30.12.2010, 21:11

Das ist gut :)
Hast du denn auch verstanden warum?
Könnte ganz hilfreich sein :P

10

30.12.2010, 21:17

Naja ich versteh nicht warum die IDE(?) nicht meckert wenn ich einen Datentyp deklariere den sie nicht kennt?!

Werbeanzeige