Draw3D DrawImage3D() problem o.o [gelöst]
Übersicht

PhillipKBetreff: Draw3D DrawImage3D() problem o.o [gelöst] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, ich schon wieder. Musses doch ausnutzen das ich nun auch im Forum posten kann ;o)
Da Annixa pur landschaft atm macht & ich noch mit nix komplexen anfangen möchte, lege ich schonmal die HUD positionen fest, erstmal statisch, für unseren Debug krams ^^ Und weil ich speichergeil bin, möchte ich Bilder mit GrabImage3D() zerteilen, gewisse stücke strecken und dann alle in einer Funktion mit einer X/Y koordinate zeichnen.. Sprich, zb wenn ich einen speziellen kreis malen möchte, nehme ein viertel davon als bild & zeichne es dann ganze 4x, mit X/Y offsets und spiegel es zwischendrin ;D Genug geschwafelt, hat ja eh keiner verstanden.. Mein problem ist wie folgt. Ich habe das ganze in Funktionen ausgelagert und rufe erst eine funktion auf die einen Simplen "hintergrund" für mein HUD malen soll. Wird auch zusammengesetzt undsoweiter. Danach soll der besagte kreis drübergemalt werden. ABER -> der kreis ist immer hinter dem hintergrund o.o Hier mal die code fetzen.. vllt hab ich irwo einen falschen parameter und raffs nur nicht ![]() Code: [AUSKLAPPEN] Global gui_portrait_teil = LoadImage3D(dirHud$+"HUD_Portrait_teilstueck.png",2,1,0) Global gui_hintergrund = LoadImage3D(dirHud$+"HUD_Hintergrund_teilstueck.png",2,1,0) Global gui_hintergrund_teil1 = GrabImage3D(gui_hintergrund, 0,0, 1,64, 136,1) Global gui_hintergrund_teil2 = GrabImage3D(gui_hintergrund, 0,63, 64,1, 1,36) Global gui_hintergrund_teil3 = GrabImage3D(gui_hintergrund, 0,63, 1,1, 136,36) function HUD() ; wird vom mainloop aufgerufen ;~blar, hier ist weiterer HUD krams drin, ich denke nicht das das relevant ist. ShowHintergrund(0,668) ShowPortraitHintergrund(100,708) ;~blar, nochmehr krams ^^ End Function Function ShowPortraitHintergrund(PH_gewollt_x, PH_gewollt_y) DrawImage3D(gui_portrait_teil, FixX(PH_gewollt_x, 32), FixY(PH_gewollt_y, 5)) USwap3D(gui_portrait_teil) DrawImage3D(gui_portrait_teil, FixX(PH_gewollt_x+32, 32), FixY(PH_gewollt_y, 5)) VSwap3D(gui_portrait_teil) DrawImage3D(gui_portrait_teil, FixX(PH_gewollt_x+32, 32), FixY(PH_gewollt_y+32, 5)) USwap3D(gui_portrait_teil) DrawImage3D(gui_portrait_teil, FixX(PH_gewollt_x, 32), FixY(PH_gewollt_y+32, 5)) VSwap3D(gui_portrait_teil) End Function Function ShowHintergrund(H_gewollt_x, H_gewollt_y) DrawImage3D(gui_hintergrund_teil3, FixX(H_gewollt_x, 136), FixY(H_gewollt_y+64, 36)) DrawImage3D(gui_hintergrund_teil1, FixX(H_gewollt_x, 136), FixY(H_gewollt_y, 64)) DrawImage3D(gui_hintergrund_teil2, FixX(H_gewollt_x+136, 64), FixY(H_gewollt_y+64, 36)) DrawImage3D(gui_hintergrund, FixX(H_gewollt_x+136,64), FixY(H_gewollt_y, 64)) End Function Die ganzen X und Y koordinaten etc sind egal^^ und in den zeichenfunktionen das FixX() und FixY() sind eigene funktionen, die normale koordinaten im bezug auf einen 1024x768 screen auf die Draw3D-relativen koordinaten umrechnet. Dazu muss ich nur Gewoll_x bzw y angeben & die breite bzw höhe ^-^ MFG <- wie von jedem guten noob -> PhillipK EDIT: Ich weiß nicht wie man beiträge als "gelöst" makiert, deshalb nehme ich mal an ich soll einfach nur den Beitragstitel bearbeiten ![]() Ansonsten gebt mir bitte eine meldung ^-^ |
||
- Zuletzt bearbeitet von PhillipK am So, Feb 08, 2009 10:18, insgesamt einmal bearbeitet
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Später geladene Bilder haben immer eine höhere Anzeigepriorität. Auch dann, wenn die Bilder später gezeichnet werden können sie also hinter allem sein. Nur innerhalb eines Surfaces (geladenes Bild) wird die gewohnte 2D Zeichenreihenfolge bewart.
Das liesse sich zwar relativ leicht ändern, doch ist der Speedvorteil dann auch schnell dahin. Also ändere die Ladereihenfolge der Bilder und passe ggf. noch die Teilbilder in dem Images an. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hectic hat Folgendes geschrieben: Später geladene Bilder haben immer eine höhere Anzeigepriorität. Auch dann, wenn die Bilder später gezeichnet werden können sie also hinter allem sein. Nur innerhalb eines Surfaces (geladenes Bild) wird die gewohnte 2D Zeichenreihenfolge bewart.
Das liesse sich zwar relativ leicht ändern, doch ist der Speedvorteil dann auch schnell dahin. Also ändere die Ladereihenfolge der Bilder und passe ggf. noch die Teilbilder in dem Images an. Ui, gut zu wissen ![]() Dann wäre das wohl auch erledigt.. kann grade leider nicht testen weil ich besuch hab, aber das klingt plausibel^^ Das ist nützlich zu wissen, nichtnur für das HUD von mir. Danke ^-^ |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group