Autor Beitrag
leonm
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 11.05.11 12:11 
Hallo Leute,

für den Informatikunterricht bin ich im Moment mit der Entwickelung eines "Nachbaues" von dem Game Cs2d (www.cs2d.com) beschäftigt. Nun stehe ich vor dem Problem das ich den Player zwar erzeugen und zeichnen kann =>

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
constructor TPlayer.create (pXKoordinate: Integer; pYKoordinate: Integer; pScreen : TImage);
begin
  zXPosition := pXKoordinate;
  zYPosition := pYKoordinate;
  Icon := TIcon.create();
  Icon.LoadFromFile('res/Player.ico');
  Screen := pScreen;
end;

procedure TPlayer.draw;
begin
  Screen.Canvas.Draw(zXPosition, zYPosition, Icon);
end;


und mit einer Winkelfunktion den Winkel der Maus zum Player berechnen kann, aber es gelingt mir nicht den Player jetzt zu drehen.
Gibt es eine Möglichkeit mit canvas gezeichnete Objekte zu drehen?
Ich habe weder in diesem Forum noch sonstwo eine passende Lösung gefunden...

Danke schonmal im Vorraus,

Leon

Moderiert von user profile iconMartok: Quote- durch Delphi-Tags ersetzt
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 11.05.11 13:22 
Ich hatte vor einiger Zeit einmal eine Komponente zur Verfügung gestellt die so etwas nutzt, wenn Du diese nicht direkt nutzen willst fidest Du die benötigten Funktionen in der beiliegenden Datei ExCanvasTools

www.delphipraxis.net...rehung-und-zoom.html

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
leonm Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 17.05.11 09:13 
Hey
also erstmal danke für die schnelle Antwort :D
Werde mich mal an der Implementierung versuchen...
Also ich erstelle im Prinzip eine neue unit "ExCanvasTools", und rufe dann die methode "SetCanvasZoomAndRotation" auf. Nur in welcher Unit? In der Unit Meiner Form, oder in der Unit vom Player? Und was gebe ich dann als ACanvas an?
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Di 17.05.11 10:33 
Du rufst PaintGraphic mit dem Canvas auf auf welches Du zeichnen willst, ich habe mal ein Microdemo angehängt.
Einloggen, um Attachments anzusehen!
_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
leonm Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 18.05.11 11:54 
Ok, super danke, habs jetzt hingekriegt :D