Z-Order Objektübergreifend
Übersicht

![]() |
marcel_bohnBetreff: Z-Order Objektübergreifend |
![]() Antworten mit Zitat ![]() |
---|---|---|
Problem:
Also ich möchte meine Objekte hintereinander auf dem Bildschirm anzeigen lassen. Wenn zum Beispiel ein Monster auf der Y-Achse über dem Spieler ist, so soll der Spieler vor das Monster gezeichnet werden. Lösung? Als einzige Lösung wär mir eingefallen eine Schleife zu erstellen die jeden einzelne Y Wert überprüft und wenn der momentane Y Wert mit dem Objekt Y Wert übereinstimmt, das Objekt zeichnet Ist das eine gute Lösung? Oder habt ihr vllt. noch ne andere Idee? BIn mir unsicher... schonmal Danke für die Antworten! |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja du musst deine Objekte sortieren - dazu gibt es diverse Algorithmen, die Forensuche kann da sicher helfen. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Einfach in der Reihenfolge zeichnen in der Sie angezeigt werden soll.
Wenn die Objekte in ner For-Each-Schleife sind musst du sie umsortieren. |
||
![]() |
marcel_bohn |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sry das ich das alte ding wieder aufwärme, aber ich muss dazu noch etwas fragen und will deshalb kein neues Thema anfangen. Hab nämlich wieder ein Problem mit diesem sortieren!
Also ich hab ja wie oben beschrieben mehrere Types z.b. (player,monster,item,attack,auto). Muss ich die jetzt alle in die selbe liste aufnehmen, das ich sie je nach y-achse nacheinander zeichnen kann? Dann hätte ich ja nur eine Liste für jeden Type der sich auf der Karte befindet! Außerdem müsste ich ja dann eine universelle "render funktion" schreiben, das jeden Type zeichnet. Geht das nich irgendwie einfacher? ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde ein neuen Type für Bilder anlegen und jedes Spiel-objekt bekommt so ein Bild-Type. Die kannst du unabhängig vom Rest sortieren und anzeigen. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
marcel_bohn |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich kann mir das jetzt nicht so gut vorstellen, hast du vllt. ein beispiel für soetwas? | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auf die Schnelle kein lauffähiges, aber...
BlitzBasic: [AUSKLAPPEN] Type TObj ...so sollte es dann Grundlegend aussehen. Jedes Objekt, was angezeigt wird, bekommt ein Timg verpasst. Diese Typeliste kann man wunderbar nach Koordinaten sortieren und rendern. Wenn man die Koordinaten eines Objektes braucht, nutzt man die Verlinkung. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
marcel_bohn |
![]() Antworten mit Zitat ![]() |
---|---|---|
jop, das is genau das wonach ich gesucht habe, das bedeutet doch das ich dann in meiner "render funktion" nicht das bild zeichne, sondern nur die Variablen des "Timg" ändere (x,y,img,scale,usw..) und die Timg's werden dann in einer anderen Funktion sortiert und gezeichnet, richtig?
Danke für die schnelle Antwort! |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jopp, so sollte es sein.
Nur nicht vergessen, dass die Timg-Objekte dann auch mit Delete ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group