falls du das bild nicht mit
directx drehen möchtest, gehts z.b. so:
Delphi-Quellcode:
// dreht ein koordinatensystem ( pixel -> pixel nach angle gedreht )
procedure TransformVirtToReal(virt:Trealpoint; angle:single; var real:Trealpoint);
var
VirLen,VirAngle:single;
RealLen,RealAngle:single;
null:Trealpoint;
begin
//sooo
null.X := 0;
null.Y := 0;
VirLen := abstand(null,virt); // abstand in pixeln von virtueller nullpunkt(virtuell) -> koordinate(virtuell)
VirAngle := cortowink(null,virt); // winkel von nullpunkt(virtuell) zu koordinate(virtuell)
RealAngle := winkelcalc(VirAngle,angle); // Winkel drehen, das es dem neuen Koordinatensystem entspricht
RealLen := VirLen*1; // evtl zoom
real.X := cos(cycletorad(RealAngle/360))*RealLen;
real.Y := sin(cycletorad(RealAngle/360))*RealLen;
end;
für eine pixelgenaue collisonserkennung auf image art, die auch mit gedrehten bitmaps auskommt, hätte ich auch was funktionierendes falls gewünscht.
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!