Images layern - wie?
Übersicht

![]() |
Rick_72Betreff: Images layern - wie? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nach meinem Umstieg von B3D auf BMax vermisse ich die Möglichkeit Images zu layern (Z-Order). Gibt's das in BMax so mit Bordmitteln gar nicht? Muss ich OpenGL verwenden? Wenn ja, wie? Wenn nein, wie dann?
Danke! |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du malst ein Image nach dem anderen mit der selben Reihenfolge, wie die Z-Order sein soll. Oder hab ich dich nicht richtig verstanden.
Das was du zuerst malst ist ganz hinten, das was du zuletzt malst ganz unten. MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Rick_72 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Äh, naja, klar, das geht halt immer. Aber das ist nicht unbedingt das was mir vorschwebt. Ich will ja auch mal Effekte auf einen Layer beschränken, ein Image drehen, skalieren oder sonstiges damit machen.
in B3D ging das recht komfortabel. Wenn ich das in BMax nur über die Reihenfolge des Zeichnens erreichen kann, dann kann ich mir ja gleich ein ganzes 3D-Framework schreiben. Den Aufwand wollte ich mir aber eigentlich sparen. Sonst wird mein Zock nie mehr fertig ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm einfach einen Type um die Bilder zu verwalten und zu sortieren. Läuft auch auf die richtige Zeichenreihenfolge hinaus, aber das sollte prinzipiell leicht zu automatisieren sein. | ||
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) |
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mir erschließt sich dein Ziel auch nicht. Vielleicht beschreibst du mal, was du genau erreichen willst, da lässt sich bestimmt ne bessere Methode finden. | ||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
OldSkool90 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So wie ich ihn verstanden habe, möchte er Bildebenen erzeugen, um zum einen die Ausgabereihenfolge zu beeinflussen und zum anderen Effekte auf bestimmte Ebenen zu beschränken. | ||
![]() |
Rick_72 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@OldSkool90: genau das!
In B3D musste ich mich um manuelle Reihenfolgen und Gedöns nicht kümmern, sondern habe einem Image (Objekt) einfach eine Z-Plane zugewiesen .. und schwupps wurde das in der richtigen Reihenfolge gezeichnet - automatisch. Eine Ebene drehen .. kein Problem. Wenn ich das jetzt alles nachprogrammieren muss, läuft das auf ein 3D-Framework hinaus. Meine Frage war, ob das nicht einfacher geht. Vielleicht bin ich ja nur zu doof in der wunderbaren Anleitung die richtigen Kommandos zu entdecken. ![]() |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bilder in Types stecken und in Listen verwalten und nach z sortieren... das scheint mir einfacher als eine 3D Engine zu schreiben.
BlitzMax: [AUSKLAPPEN] SuperStrict |
||
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) |
![]() |
Rick_72 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, hier kackt Thunderbird alle 2 Minuten mit einem BSOD ab .. tcpip.sys ![]() Ich muss wohl mal die Firewall neu installieren. Dauert ein paar Minuten.. |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
So viel Aufwand ist das aber auch wieder nicht, da es noch nicht einmal auf ein 3D-Framework hinaus geht.
(Vorraussetzung: gute Kenntnisse von Types) Dann hast du einen Layer-Type, dessen Objekte beim Erstellen ein Bild und eine Z-Position zugewiesen wird. Diese Objekte befinden sich in einer sortierten Layerliste, die beim Zeichnen ausgelesen wird. (->Zeichenmethode für die Objekte und eine ZeichneAlle-Funktion, um alle Layer zu zeichnen.) Um die Standardsortierfunktionen nutzen zu können, muss man im Layer-Type die "Compare"-Methode überschreiben, in der dann die Z-Positionen verglichen werden. Um ein Objekt zu einem Layer hinzuzufügen braucht man dann auch noch eine Liste pro Layer und ein paar Zugriffsfunktionen. So in etwa würde ich es machen. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst ein Image malen und danach die Rotation setzten, Image malen und Rotation zurück setzten, dann weiter malen. Dann wird nur diese Ebende dazwischen gedreht. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Rick_72 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meine Herren, BSOD nervt ![]() ![]() Zurück zum Thema: ich werde also mit CreateImage alle Images zeichnen, in einer Liste speichern, diese sortieren und dann einfach alles übereinanderkloppen. Klar, das geht natürlich immer. Mal sehen, was ich heute Nachmittag zusammenhacken werde. Vielen Dank für Euren Input! Hat mir durchaus weitergeholfen. Ich hoffe, dass ich auch irgendwann mal soweit bin, dass ich anderen helfen kann. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group