Entwickler-Ecke
Multimedia / Grafik - DX Hintergrundbild behalten
neo - Di 17.06.03 17:23
Titel: DX Hintergrundbild behalten
Hallo!
Ich habe in bei Dx ein Bild als Hintergrund geladen.
Quelltext
1:
| DXDraw1.Surface.LoadFromFile('back.bmp'); |
Dann gebe ich ein Bild dazu und drehe es zum Beispiel.
Dann wird das Bild immer neu gedreht gezeichnet, und die alten alle stehengelassen.
Ich möchte aber nur den Hintergrund mit dem aktuellsten, d.h letzten gezeichneten Bild haben.
Danke!
Da_Knuddelbaer - Di 17.06.03 17:34
Wie genau zeichnest du denn das andere Bild bzw. wie zeichnest du überhaupt?
Greetz,
knuddelbaer
neo - Di 17.06.03 17:37
Titel: RE:
Ich zeichne es mit
Quelltext
1:
| DXImageList1.Items[0].DrawRotate(DXDraw1.Surface,100,100,182,256,0,0.5,0.5,Angle) |
maximus - Di 17.06.03 18:16
Du solltest den backBuffer flippen :wink:
DXDraw.flip(..?) oder so (im gameLoop)
sollte helfen?...
neo - Di 17.06.03 18:29
Titel: RE:
Der Backbuffer ist gleub ich nur für 3D
oder?
mimi - Di 17.06.03 22:05
also du solltes eine imageliste verwenden delphiX hat eine dabei:)
im dxTimer schreibst du dann folgends:
DxDraw1.Clear; // löscht alles
..... // weiter zeichen anweisungen
DxDraw1.Flip;
DxTimer1.interval:=0 muss du noch im oi einstellen:)
neo - Di 17.06.03 22:50
Titel: RE:
Danke für die Hilfe aber ich habe bei mir keine Funktion "clear" dabei.
Ich möchte ja eigentlich nur einen Hintergrund hineinladen, und auf diesem nachher alle zeichen Sachen durchführen.
Neo
Elayla - Mi 18.06.03 06:43
Ich hab bei meiner Zeichenprozedur auch kein Clear verwendet, der überschreibt das doch so und so :)
Da_Knuddelbaer - Mi 18.06.03 09:22
Wenn es hier nur um ein Hintergrundbild geht dann kannst du das auch einfacher haben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| with TBackgroundSprite.Create(SpriteEngine.Engine) do begin SetMapSize(MapSize, MapSize); Image := ImageList.Items.Find('Background.bmp'); Z := -6; Tile := True; end; |
Die Klasse TBackgroundSprite ist durch DelphiX bereits gegeben, du musst also lediglich den obigen Code einfügen und es sollte klappen. Natürlich musst du noch die MapSize abändern und eventuell heisst die Bitmap (oder was auch immer) bei dir anders. Den Code aber nur einmal ausführen, also ja nicht in den DXTimer reinstopfen.
Greetz,
Knuddelbaer
maximus - Mi 18.06.03 10:13
Flippen musst du so oder so...clearen nur wenn der hintergrung nicht alles ausfüllt.
mimi - Mi 18.06.03 17:18
mein fehler, war gestern wohl bei einer änlichen komponenten samlung wie dx:)
bei dx heißt das:
DXDraw1.Surface.Fill(0) ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!