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...