Announcement

Collapse
No announcement yet.

DelphiX: Ungenau Kollisionserkennung bei DrawRotate

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DelphiX: Ungenau Kollisionserkennung bei DrawRotate

    Immer wenn ich in einer überschriebenen TImageSprite.DoDraw Procedure Image.DrawRotate mit einem Winkel <> 0 aufrufe, wird die Kollisionserkennung ungenau. Bei einem Winkel von 0 funktioniert alles super. Hatte jemand schon mal so ein Problem und wie hat er das gelöst?

    Hier ein Codeauszug:

    <PRE>
    TOpti = class(TImageSprite)
    public
    procedure DoMove(MoveCount: Integer); override;
    procedure DoDraw; override;
    procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
    end;

    procedure TOpti.DoDraw;
    begin
    Image.DrawRotate(OptiTrainerForm.DXDraw1.Surface, Round(X), Round(Y),
    Image.Width, Image.Height, 0, 0.5, 1.0, 50);
    end;

    procedure TOptiTrainerForm.DXTimer1Timer(Sender: TObject; LagCount: Integer);
    begin
    DXImageList1.Items[0].Draw(DXDraw1.Surface, 0, 0, 0);
    DXSpriteEngine1.Move(1);
    Opti[0].PixelCheck := True;
    Opti[0].Collision;
    Opti[1].PixelCheck := True;
    Opti[1].Collision;
    DXSpriteEngine1.Draw;
    DXDraw1.Flip;
    end;
    </PRE>

    <BR>
    Mfg.
    Böhler Oliver
Working...
X