Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#119

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.15]

  Alt 7. Apr 2007, 16:37
Hmm. Habe ich gemacht, zeigt aber keine Wirkung. Das ganze sieht jetzt so aus:

Delphi-Quellcode:
  TZoomSpriteengine = class(TSpriteEngine)
  private
    FZoom: integer;
    function GetSurfaceRect: TRect;
    procedure SetZoom(const Value: integer);
  public
    property SurfaceRect Read GetSurfaceRect;
    property Zoom: integer Read FZoom Write SetZoom;
  end;

{..............}

function TZoomSpriteengine.GetSurfaceRect: TRect;
var
  r: TRect;
  w, h: integer;
begin
  r := inherited SurfaceRect;
  w := r.Right - r.Left;
  h := r.Bottom - r.Top;
  Result := Rect(r.Left - w * Zoom, r.Top - h * Zoom, r.Right + w *
    Zoom, r.Bottom + h * Zoom);
end;

procedure TZoomSpriteengine.SetZoom(const Value: integer);
begin
  FZoom := Value;
end;
Ich hab noch das Erstellen und die Variablentypen in meinem Programm korrigiert, aber irgendwie gab das keine Änderung. Muss ich da noch eine Funktion aufrufen, um die Einstellungen zu übernehmen? Das Zoomen sieht so aus:

Delphi-Quellcode:
procedure TForm1.ZoomOut(Sender: TObject);
begin
  Settings.Zoom := 2;
  SpriteEngine.Zoom:=Settings.Zoom;
   AdDraw.AdAppl.Setup2DScene(PaintBox1.Width * Settings.Zoom,
    PaintBox1.Height * Settings.Zoom);
end;


procedure TForm1.ZoomIn(Sender: TObject);
begin
  Settings.Zoom := 1;
  SpriteEngine.Zoom:=Settings.Zoom;
  AdDraw.AdAppl.Setup2DScene(PaintBox1.Width * Settings.Zoom,
    PaintBox1.Height * Settings.Zoom);

end;
Settings ist hier nur eine Hilfsklasse, um allerlei Einstellungen zu verwalten.
  Mit Zitat antworten Zitat