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

11

03.05.2016, 19:46

Du nutzt nicht den richtigen Konstruktor für dein Sprite, befasse dich mit der Doku!
Dort steht alles wichtige drinne.
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

12

04.05.2016, 11:02

Koschi hat doch schon gesagt wo das Problem ist:

Zitat


C-/C++-Quelltext

1
2
3
4
5
public Player()
{ 
   Car = new Texture("Car5.png");
   sprite = new Sprite(Car,posx,posy,225,103);
}


Das ist nicht richtig. Der Konstruktor von Player möchte nicht die Position des Spielers haben. Es geht darum dass du mehrere Texturen in einer einzelnen Textur unterbringen kannst. So wie man es bei Tilesets oft macht oder eben allgemein für Texturatlanten. Die Koordinaten geben an wo in der Textur die du dem Sprite zuweisen möchtest sich nun die Teilgrafik befindet. In deinem Fall scheinen aber nicht mehrere Grafiken dort drin untergebracht zu sein sondern eben nur die des Spielers. Also musst du an dieser Stelle statt posx und posy eben 0 und 0 verwenden. Das hat mit dem Code für draw erst mal nichts zu tun. Soll heißen du änderst den Code zu:

C-/C++-Quelltext

1
2
3
4
5
public Player()
{ 
   Car = new Texture("Car5.png");
   sprite = new Sprite(Car,0,0,225,103);
}
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

13

04.05.2016, 11:56

Er muss nicht einmal den 2. und 3. Parameter als 0 übergeben. In der Doku steht eindeutig: Sprite(Texture texture, int srcWidth, int srcHeight). Er kann sie einfach weg lassen.

Eigentlich war hiermit schon das Problem gelöst.

@Roman: Nimm mir das nicht übel, aber wir singen hier jetzt seit 2 Seiten dasselbe Lied: Lies die Doku, die erklärt eigentlich alles und insbesondere auch dein Problem. Die libgdx Doku ist aus meiner Sicht sehr ausführlich und hätte dich sofort zur Lösung deines Problems geführt (Ich habe lediglich "libgdx Sprite" gegoogled (Ich verweise auf meinen Beruf da links), das erste Ergebnis, die libgdx Doku, genommen und den Konstruktor gesucht, den du da verwendest. Das hat insgesamt 10 Sekunden gedauert).
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

14

04.05.2016, 14:42

Hallo Roman,

solltest du dein Problem noch nicht gelöst haben, kannst du dir vielleicht mal diese Tutorials angucken dort werden Textur Atlanten erklärt, dann sollte dir wahrscheinlich selbst auffallen warum gerade dein Player nicht gezeichnet wird.

http://www.gamefromscratch.com/post/2013…c-graphics.aspx

http://obviam.net/index.php/getting-star…rt-2-animation/

Viele Grüße

CreatingDreams.

Werbeanzeige