Autor Beitrag
neo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179



BeitragVerfasst: Di 17.06.03 17:23 
Hallo!

Ich habe in bei Dx ein Bild als Hintergrund geladen.

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 485



BeitragVerfasst: Di 17.06.03 17:34 
Wie genau zeichnest du denn das andere Bild bzw. wie zeichnest du überhaupt?

Greetz,
knuddelbaer
neo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179



BeitragVerfasst: Di 17.06.03 17:37 
Titel: RE:
Ich zeichne es mit

ausblenden Quelltext
1:
DXImageList1.Items[0].DrawRotate(DXDraw1.Surface,100,100,182,256,0,0.5,0.5,Angle)					
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Di 17.06.03 18:16 
Du solltest den backBuffer flippen :wink:

DXDraw.flip(..?) oder so (im gameLoop)

sollte helfen?...

_________________
mfg.
mâximôv
neo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179



BeitragVerfasst: Di 17.06.03 18:29 
Titel: RE:
Der Backbuffer ist gleub ich nur für 3D

oder?
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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:)

_________________
MFG
Michael Springwald, "kann kein englisch...."
neo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 79



BeitragVerfasst: Mi 18.06.03 06:43 
Ich hab bei meiner Zeichenprozedur auch kein Clear verwendet, der überschreibt das doch so und so :)

_________________
Das wahre Ziel des Krieges ist der Frieden.
Sun Tzu
Da_Knuddelbaer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 485



BeitragVerfasst: Mi 18.06.03 09:22 
Wenn es hier nur um ein Hintergrundbild geht dann kannst du das auch einfacher haben:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  { Hintergrund erstellen }
  with TBackgroundSprite.Create(SpriteEngine.Engine) do
  begin
    SetMapSize(MapSize, MapSize);
    Image := ImageList.Items.Find('Background.bmp');
    Z := -6;                            // steht unter allen anderen Sprites
    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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Mi 18.06.03 10:13 
Flippen musst du so oder so...clearen nur wenn der hintergrung nicht alles ausfüllt.

_________________
mfg.
mâximôv
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: 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) ;)

_________________
MFG
Michael Springwald, "kann kein englisch...."