Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [ANDORRA 2D] Fragen zu Vollbild (https://www.delphipraxis.net/111172-%5Bandorra-2d%5D-fragen-zu-vollbild.html)

anakoda 31. Mär 2008 05:49


[ANDORRA 2D] Fragen zu Vollbild
 
Guten Morgen,

ich habe ein kleines Programm geschrieben das auf dem Windowsframeworks-Tutorial basiert.
Jetzt habe ich noch ein paar kleine Fragen zum Vollbildmodus (ich verwende OpenGL, nicht DirectX).

(1) Wie kann ich den Vollbildmodus so aufrufen, dass das Fenster ansich (Titelzeile, Rahmen) verschwindet?

(2) Wenn ich den Vollbildmodus drin habe und ich positioniere dann dort Objekte, muss ich das dann für jede Auflösung neu machen ?

Danke schonmal!

MfG
anakoda

STS301 31. Mär 2008 08:32

Re: [ANDORRA 2D] Fragen zu Vollbild
 
zu 1) Boaderstyle auf "BsNone"

igel457 31. Mär 2008 14:54

Re: [ANDORRA 2D] Fragen zu Vollbild
 
Hallo.

(1) Welches Windowframework verwendest du? AdWin32Window, AdStdWindow oder AdGLFW?
Theoretisch sollte es (zumindest unter Windows) keine Probleme geben, wenn du zu AdDraw.Options "doFullscreen" hinzufügst - ich habe das gerade nochmal getestet. Falls es doch nicht klappen sollte, bin ich natürlich für jeden Hinweis, der mich zum Fehler führt, dankbar.

(2) Du musst die Objekte nicht neu verteilen. Über
Delphi-Quellcode:
AdDraws.AdAppl.Setup2DScene(w,h);
kannst du die Größe des virtuellen Koordinatensystems einstellen. In der nächsten Version (0.4) wird dies jedoch nochmal einiges transparenter.

@STS301: Nein, das geht unter Verwendung des Andorra Windowframeworks nicht, da es kein Formular gibt ;-)

STS301 31. Mär 2008 15:37

Re: [ANDORRA 2D] Fragen zu Vollbild
 
:duck:

anakoda 1. Apr 2008 05:48

Re: [ANDORRA 2D] Fragen zu Vollbild
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich verwende AdStdWindow. Ich habe meinen Code mal reduziert, das Ganze sieht dann so aus und erzeugt dasselbe Problem:

Delphi-Quellcode:
unit Main;

interface

uses
  Windows,Dialogs, SysUtils, Graphics, Classes, Controls,
  AdDraws, AdClasses, AdSetupDlg, AdPerformanceCounter, AdStdWindow,
  AdTypes, AdComponents, AdPNG;


type
  TAdAppl = class
  public
    AdDraw:TAdDraw;
    AdPerCounter:TAdPerformanceCounter;
    procedure Idle(Sender:TObject;var Done:boolean);
    procedure Run;
  end;

const
  Path = '';

var
  Pattern: single;

implementation

procedure TAdAppl.Idle(Sender: TObject; var Done: boolean);
begin
  if AdDraw.CanDraw then
  begin
    AdPerCounter.Calculate;
    AdDraw.ClearSurface(0);
    AdDraw.BeginScene;


    AdDraw.EndScene;
    AdDraw.Flip;
  end;

  Done := false;
end;


procedure TAdAppl.Run;
var
  AdSetup: TAdSetup;
begin
  AdPerCounter := TAdPerformanceCounter.Create;

  AdDraw := TAdDraw.Create(nil);
  AdDraw.Options := AdDraw.Options+[doFullscreen];

  AdSetup := TAdSetup.Create(nil);
  AdSetup.Title := 'test';
  AdSetup.Image := path + 'img/logo.png';
  AdSetup.AdDraw := AdDraw;

  if AdSetup.Execute then
  begin
    if AdDraw.Initialize then
    begin
      AdDraw.Window.Events.OnIdle := Idle;
      AdDraw.Window.CursorVisible := false;
      AdDraw.Window.Title := 'cReal';

      AdDraw.Run;
    end else
      ShowMessage('Error while initializing Andorra 2D. Try to use another display '+
                  'mode or another video adapter.');
  end;

  AdPerCounter.Free;
  AdDraw.Free;
end;

end.
Ich verwende dann OpenGL mit "Current Resolution" (1280x800), dabei wird dann ein schwarzes Fenster in Vollbild erzeugt, nur eben mit Fensterrahmen etc.

Im Anhang ist ein Screenshot der AdDraw.Options Variable vor dem AdDraw.Run Schritt.

Wäre klasse wenn du den Fehler findest!

MfG
anakoda

igel457 1. Apr 2008 12:08

Re: [ANDORRA 2D] Fragen zu Vollbild
 
Verschiebe das mit dem AdDraw.Options mal hinter "AdSetup.Execute". TAdSetup überschreibt die Fullscreen Einstellungen nämlich.

anakoda 2. Apr 2008 05:30

Re: [ANDORRA 2D] Fragen zu Vollbild
 
Danke, jetzt gehts!

LiS 7. Mai 2009 22:36

Re: [ANDORRA 2D] Fragen zu Vollbild
 
Hi!
Ich habe auch ein Problem mit dem Vollbild, und zwar bekomme ich bei der Zeile
Delphi-Quellcode:
AdDraw.Options := AdDraw.Options+[doFullscreen];
die Fehlermeldung
Delphi-Quellcode:
unit1.pas(43,49) Error: Identifier not found "doFullscreen"
Fehlt mir vielleicht noch eine Unit? Ich habe alle oben genannten Units eingebunden, doch der Fehler tritt weiterhin auf. Ohne diese Zeile bekomme ich auch keine Fehlermeldungen.

Ich hoffe ihr könnt mir helfen! Danke schonmal!

Gruß
Leif

igel457 8. Mai 2009 15:34

Re: [ANDORRA 2D] Fragen zu Vollbild
 
Hallo,

die Methode mit der du in den Vollbildmodus wechselt hatte sich mit einer der letzten Versionen geändert. Du musst nun so etwas wie
Delphi-Quellcode:
with AdDraw.Display do
begin
  Width := 800;
  Height := 600;
  BitDepth := ad32Bit; //Die Farbtiefe. Hierbei sind die Werte "ad16Bit" und "ad32Bit" erlaubt.
  DisplayMode := dmFullscreen;
end;
vor der Zeile "AdDraw.Initialize" schreiben. Dann sollte das Funktionieren. Allerdings glaube ich, dass mit Lazarus Vollbild nur unter Windows möglich ist.

Ich hoffe dir damit geholfen zu haben, näheres findet sich auch in Tutorial 2 (http://andorra.sourceforge.net/index.php?bb=tutot2ger). Wenn du sonst noch Fragen hast, oder Fehler in den Tutorials findest, zögere nicht hier in der DP zu fragen.

Andreas

LiS 18. Mai 2009 10:23

Re: [ANDORRA 2D] Fragen zu Vollbild
 
Ups, habe ich jetzt erst gelesen... Vielen Dank, das hat geholfen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr.

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