![]() |
Ein Bitmap in DelphiX drehen
Hallo!
Ich programmiere gerade ein altes Spiel nach! Hier istein YouTube-Link: ![]() 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:
Jetzt würde ich gerne, das Bitmap so drehen, dass die Rakete zum Zielpunkt zeigt
DXImageList1.Items[0].Draw(DXDraw1.Surface, {X}, {Y}, {PatternIndex});
DXDraw1.Flip; //Surface am Bildschirm anzeigen und mit dem Kopf nach vorne fliegt. Wie kann ich das Bitmap dann so drehen in DelphiX? Vielen Dank schonmal :wink: |
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:
![]() lg |
AW: Ein Bitmap in DelphiX drehen
Zitat:
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 |
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. |
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. :?: |
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: ![]() 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 06:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz