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

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

1

18.07.2015, 17:00

[C++ | SFML] Neue Instanz von einem Sprite erstellen??

Hallo Leute,

ich programmiere im 2-er Team Snake. Jetzt bin ich an der Reihe, die Map zu erstellen (Kachel- oder Rasterartig). Hier erstmal der Codeausschnitt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void MapManager::CheckPosition()
{
    // Wenn der Zähler kleinergleich NULL ist, dann das Sprite oben links setzten
    if (Tilecount <= 0)
    {
        mMapSprite.setPosition(0.f, 0.f);
    }

    // Wenn der Zähler größer als NULL ist, dann weiter links eine neue Kachel setzen
    else if (Tilecount > 0)
    {

        mMapSprite.setPosition(Tilecount * 40, 0.f); // '*40' wegen der Länge der Textur
    }


    Tilecount++;

}


Das Ziel: Eine Kachelartige Oberfäche erzeugen, bei der die Texturen genau aneinander liegen.
Das Problem: Wenn ich das Programm ausführe, dann bewegt sich nur die Textur, aber es wird keine neue Kachel erzeugt (was das eigentliche Ziel ist).
Die Frage: Ist der Code völliger Schwachsinn und man muss das anders lösen? Kann man von einem sf::Sprite eine Instanz erzeugen (wie bei Klassen)?

Vielen Dank im Voraus!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

18.07.2015, 18:07

Wenn Du mehr als ein Sprite erstellen willst, solltest Du wohl über einen Array oder Vector nachdenken. Erstellen kann man ein Sprite wie man das in C++ eben so macht: sf::Sprite meinSprite; oder meinArray[12][17] = sf::Sprite();
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

ERROR

Alter Hase

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

3

18.07.2015, 18:09

BC hat dir ja auch schonmal ein C++ Buch empfohlen, ich glaube das wäre wirklich keine schlechte Idee ;) Dann lernt man erstmal etwas über die ganzen Basis Dinge ;)

cojo2015

Alter Hase

  • »cojo2015« ist der Autor dieses Themas

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

4

18.07.2015, 18:58

Ah ok. Es hat sich alles geklärt... Trotzdem Danke für eure Antworten :)

Werbeanzeige