Z-Order Objektübergreifend
Übersicht BlitzBasic
 BlitzBasic  Allgemein
 Allgemein|   | marcel_bohnBetreff: Z-Order Objektübergreifend |  Mo, Nov 22, 2010 22:24 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 |  Mo, Nov 22, 2010 22:41 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 |  Mo, Nov 22, 2010 22:43 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 |  Mi, Apr 18, 2012 16:17 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 |  Mi, Apr 18, 2012 16:40 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 |  Mi, Apr 18, 2012 16:52 Antworten mit Zitat   | 
|---|---|---|
| ich kann mir das jetzt nicht so gut vorstellen, hast du vllt. ein beispiel für soetwas? | ||
|   | XeresModerator |  Mi, Apr 18, 2012 17:05 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 |  Mi, Apr 18, 2012 17:30 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 |  Mi, Apr 18, 2012 17:44 Antworten mit Zitat   | 
|---|---|---|
| Jopp, so sollte es sein. Nur nicht vergessen, dass die Timg-Objekte dann auch mit Delete  gelöscht werden müssen, entweder mit ihrem Spiel-Objekt oder nach einer Sterbeanimation. Sonst bleiben es Karteileichen  bzw. es gibt einen Memoryleak. Bei Bildern sollte es schnell auffallen, wenn sie sich noch im Sichtbereich befinden. | ||
| 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
 BlitzBasic
 BlitzBasic  Allgemein
 Allgemein
					Powered by phpBB © 2001 - 2006, phpBB Group
				



