Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Ein Bitmap in DelphiX drehen (https://www.delphipraxis.net/203514-ein-bitmap-delphix-drehen.html)

Pflaumi 25. Feb 2020 15:27

Ein Bitmap in DelphiX drehen
 
Hallo!
Ich programmiere gerade ein altes Spiel nach! Hier istein YouTube-Link:
https://www.youtube.com/watch?v=nokIGklnBGY
Da sieht man ein bisschen wie das geht, aber nun zu meiner Frage:
Ich möchte die Raketen etwas schöner gestalten (als Bitmap).
Das Ganze mache ich in DelphiX mit DXDaw und der DXImageList.
So lasse ich das Bitmap anzeigen:
Code:
DXImageList1.Items[0].Draw(DXDraw1.Surface, {X}, {Y}, {PatternIndex});
DXDraw1.Flip;  //Surface am Bildschirm anzeigen
Jetzt würde ich gerne, das Bitmap so drehen, dass die Rakete zum Zielpunkt zeigt
und mit dem Kopf nach vorne fliegt.
Wie kann ich das Bitmap dann so drehen in DelphiX?

Vielen Dank schonmal :wink:

IceBube 26. Feb 2020 09:15

AW: Ein Bitmap in DelphiX drehen
 
Also ich hab wenig bis gar keine Erfahrung mit DelphiX, darum kann ich die Frage nicht beantworten.Ich selber würde das mit OpenGL machen. Hierzu gibt es auch viele Tutorials, schau mal hier:
https://wiki.delphigl.com/index.php/Tutorial

lg

KodeZwerg 26. Feb 2020 09:29

AW: Ein Bitmap in DelphiX drehen
 
Zitat:

Zitat von Pflaumi (Beitrag 1458340)
Code:
DXImageList1.Items[0].Draw(DXDraw1.Surface, {X}, {Y}, {PatternIndex});
DXDraw1.Flip;  //Surface am Bildschirm anzeigen

so in etwa:
Delphi-Quellcode:
Angle := 33;
DXImageList1.Items[0].DrawRotate(DXDraw1.Surface, 100, 100, 64, 64, 0, 130, 130, Angle); // spiel mit zahlen um das zu bekommen was du benötigst.
DXDraw1.Flip;  //Surface am Bildschirm anzeigen

Neutral General 26. Feb 2020 12:23

AW: Ein Bitmap in DelphiX drehen
 
Also falls DelphiX nicht doch weiterentwickelt wird/wurde würde ich eher Andorra2D empfehlen.
Das wird zwar meines Wissens auch nicht mehr weiterentwickelt aber es kam immerhin raus als DelphiX schon nicht mehr weiterentwickelt wurde. :mrgreen:

Alternativ falls es nicht Delphi sein muss ist Unity echt ne gute Sache.

Pflaumi 27. Feb 2020 16:32

AW: Ein Bitmap in DelphiX drehen
 
Hier eine Antwort an KodeZwerg:
Ich habe das mal ausprobiert, das Surface war aber immer schwarz!
Muss ich da noch irgentwas beachten?
Die Variable Angle habe ich auch deklahiert. :?:

KodeZwerg 28. Feb 2020 07:28

AW: Ein Bitmap in DelphiX drehen
 
Wenn Du bei DelphiX bleiben möchtest (der Tipp mit Andorra 2D ist ratsam zu befolgen) wäre es leichter mit Sprites zu arbeiten.
Warum bei Dir das dib schwarz bleibt kann ich so nicht ermitteln.

Hier ein link innerhalb der DP für eine Sprite rotation: sprite in delphix drehen

edit

hinweis für das drawrotate: DrawRotate( Surface, X , Y, Width, Height, PatternIndex, CenterX, CenterY, Angle);
gebe mal für CenterX/Y den DOUBLE wert 0.5 ein, so sollte es zentriert erscheinen.
vielleicht war es schwarz weil dein bild nicht 64x64 ist wie in meinem schnippsel angegeben oder Center ausserhalb des screens.... who knows :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz