Einzelnen Beitrag anzeigen

Myribo

Registriert seit: 11. Sep 2007
Ort: Bielefeld
14 Beiträge
 
#3

Re: Andorra2D - FUllscreen/Vollbild/Stretch

  Alt 29. Jul 2009, 18:58
hi!

super, vielen dank für die schnelle und nette antwort, chef

allerdings bekomme ich ein problem beim umsetzung der TAdTextureSurface-Lösung...

die demo habe ich mit angeschaut, allerdings stürzt diese immer ab (hat ein prob. festgestellt...). dies geschieht unter vista x64 und xp x86(vmware).

dann habe ich die lösung auf mein projekt angewendet und siehe da:
... auch ein fehler :'(
und zwar immer dann, wenn ich
GameScreen:=TAdTextureSurface.Create(OutputScreen); aufrufe.

der ganze formcreate code sieht so aus:

Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
var GraphicsFolder:TStringList;
    GraphicsIndex:Integer;
begin
  // Grundlegendes
  IsMouseDown:=False;
  Randomize;

  // Klassen usw. initialisieren
  GlobalSounds:=TInstantSound.Create;
  GraphicsFolder:=TStringList.Create;

  EasyTimer:=TEasyTimer.Create;

  // Andorra 2D initialisieren
  OutputScreen:=TAdDraw.Create(self);
  OutputScreen.DllName:='DLL/AndorraOGL.dll';

  OutputScreen.Options:=OutputScreen.Options+[aoAntialias];

  {with Gamescreen.Display do
  begin
    Width := 1280;
    Height := 800;
    BitDepth := ad32Bit;
    DisplayMode := dmFullscreen;
  end;}


  OutputScreen.Initialize;

  GameScreen:=TAdTextureSurface.Create(OutputScreen);
  GameScreen.SetSize(1280,720);

  PerformanceCounter:=TAdPerformanceCounter.Create;
  PerformanceCounter.MaximumFrameRate:=150;
  PerformanceCounter.MaximumTimeGap:=30;

  // Bilder in die ImageList laden
  ImageList:=TAdImageList.Create(OutputScreen);

  // PNG Grafiken laden
  SpecialFunctions.FindAllFiles(GraphicsFolder,'Graphics','*.png',False);
  for GraphicsIndex:=0 to pred(GraphicsFolder.Count) do
  begin
    with ImageList.Add(ChangeFileExt(ExtractFileName(GraphicsFolder[GraphicsIndex]),'')) do
    begin
      Texture.LoadGraphicFromFile(GraphicsFolder[GraphicsIndex],True,clNone);
      Texture.Filter:=atAnisotropic;
    end;
  end;

  ImageList.Restore;

  // EasyDraw initialisieren
  //EasyDraw:=TEasyDrawAd.Create(GameScreen,ImageList);

  // Spielszenen / Status initialisieren
  {GameScenes[0]:=TScene_Loader.Create(frmMain,GameScreen,ImageList);
  GameScenes[1]:=TScene_Intro.Create(frmMain,GameScreen,ImageList);
  GameScenes[2]:=TScene_Splash.Create(frmMain,GameScreen,ImageList);
  GameScenes[3]:=TScene_MainMenu.Create(frmMain,GameScreen,ImageList);
  GameScenes[4]:=TScene_NewGame.Create(frmMain,GameScreen,ImageList);
  GameScenes[5]:=TScene_Game.Create(frmMain,GameScreen,ImageList);}


  GameSceneNow:=0;
  GameSceneNext:=0;

  // Alles einschalten
  Application.OnIdle:=Cadence;
end;
wäre super, wenn du mal drüberschauen könntest...
der fehler tritt immmer dann auf, wenn ich die create-zeile drinne lasse.
hab ich irgendetwas in der reihenfolge vertauscht?

arbeite mit ad2d 0.451, delphi 7 enterprise und win xp 32 auf virtualbox

schönen gruß
myribo

__________________________________________________ ____________________________________

ps zurück: jo danke, werd ich beim nächsten mal dort rein schieben

__________________________________________________ ____________________________________

// edit: hab evtl nochmal nen screen drangehängt...
Miniaturansicht angehängter Grafiken
td3error_356.jpg  
  Mit Zitat antworten Zitat