Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Andorra 2D GUI Problem (https://www.delphipraxis.net/118052-andorra-2d-gui-problem.html)

XXcD 30. Jul 2008 16:35


Andorra 2D GUI Problem
 
Hallo,
ich versuche gerade das GUI System zu verwenden und stehe da vor einem Problem.
Ich wollte in der Demo Wormhunter das GUI ausprobieren. Also wenn man Escape drückt, soll das Menü aufgehen und mann kann dann Einstellungen vornehmen.

Das funktioniert nicht und habe das deshalbd erstmal genauso wie in der Demo Videoplayer versucht.
Dort wird aber auch nichts angezeigt.

Hier mal der Code:

Delphi-Quellcode:
...
  public
    AdGUI: TAdGUI;
...


procedure TForm6.FormCreate(Sender: TObject);
var
  i:integer;
  AdSetup: TAdSetup;
begin
  Randomize;

  AdPerCounter := TAdPerformanceCounter.Create;

  Cursor := crNone;
  AdDraw := TAdDraw.Create(self);
  AdDraw.Options := AdDraw.Options - [aoCulling];
  AdDraw.DllName:='AndorraDX93D.dll';
      with AdDraw.Display do
      begin
  DisplayMode :=dmWindowed;
  Width :=800;
  Height :=600;
  BitDepth := ad32Bit;
  end;
    if AdDraw.Initialize then
    begin
      Application.OnIdle := Idle;
      AdImageList := TAdImageList.Create(AdDraw);
      AdImageList.LoadFromFile(pathc+'demo_wormhunter.ail');

      AdPixelCollisionTester := TAdSpritePixelCollisionTester.Create(AdDraw);

      AdSpriteEngine := TSpriteEngine.Create(AdDraw);

      //GUI Menü 
      AdGUI := TAdGUI.Create(AdDraw);
      AdGUI.Skin.LoadFromFile('sunna.axs');
      AdGUI.Cursors.LoadFromFile('cursors.xml'); //Laden der Cursor
      AdGUI.LoadFromFile('VideoGUI.axg');
      //GUI Menü


      AdSplatterEffect := TAdParticleSystem.Create(AdDraw);
      AdSplatterEffect.LoadFromFile(pathp + 'splatter.apf');
      AdSplatterEffect.Texture := AdImageList.Find('particle').Texture;
      ...

    end
    else
    begin
      ShowMessage(AdDraw.GetLastError);
      halt;
    end;
end;

procedure TForm6.Idle(Sender: TObject; var Done: boolean);
var
  keys:TKeys;
begin
  if (AdDraw.CanDraw) then
  begin
    AdPerCounter.Calculate;
    AdDraw.ClearSurface(clBlack);
    AdDraw.BeginScene;
    ActTime := ActTime + AdPerCounter.TimeGap;

...

//GUI Menü Updaten
AdGUI.Update(AdPerCounter.TimeGap / 1000);
//GUI Menü Updaten

    AdDraw.EndScene;
    AdDraw.Flip;
  end;
  Done := false;
end;
Wo könnte denn da der Fehler liegen?

_BlackDragon_ 31. Jul 2008 09:33

Re: Andorra 2D GUI Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo erstmal.

Zitat:

Dort wird aber auch nichts angezeigt.
Also bei mir wird in der Demo "VideoPlayer" ein Menü angezeigt.

Zitat:

Das funktioniert nicht und habe das deshalbd erstmal genauso wie in der Demo Videoplayer versucht.
Das stimmt schonmal nicht so ganz. :wink: Du hast ein Formular erzeugt und dann alles drauf gepackt. Vermutlich hast du irgendwas vergessen. In der Demo wird das alles über die Klasse TAdAppl geregelt. Sollte allerdings nicht dein Problem sein.

Was sagt denn nach dem Start AdGUI.Visible ???

Bei mir funktioniert es in der Wormhunter-Demo mit der GUI.

Delphi-Quellcode:
uses
... // alles andere
AdGUI, AdComponents, AdGUIConnector;
...
Delphi-Quellcode:
...
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private-Deklarationen }
  public
...
    AdGUI: TAdGUI;

  end;
...
Folgende Zeilen im Form.Create hinzugefügt UND die Cursors.xml angepasst (ImagePfad):

Delphi-Quellcode:
...
AdGUI := TAdGUI.Create(AdDraw); //Erzeugen der Klasse
AdGUI.Skin.LoadFromFile(path + 'sunna.axs'); //Laden des Skins
AdGUI.Cursors.LoadFromFile(path + 'cursors.xml'); //Laden der Cursor
AdGUI.LoadFromFile(path + 'VideoGUI.axg'); //Laden der GUI
...
In "Idle" jetzt noch folgendes hinzufügen.

Delphi-Quellcode:
...
AdGUI.Update(AdPerCounter.TimeGap / 1000);
Caption := BoolToStr(AdGUI.Visible, true);
...
Dann sollte es aussehen wie im angehängten Bild.

Schau doch nochmal genau, was du anders gemacht hast bzw. was evtl. vergessen wurde.

Gruss

BlackDragon

XXcD 31. Jul 2008 21:38

Re: Andorra 2D GUI Problem
 
Ich habe heute mittag den Fehler gefunden.
Es lag an der TAdLCLOGLComponentWindow.pas.
Hier ist der Thread davon: https://sourceforge.net/forum/forum....orum_id=633393


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz