AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Spiel] Flos DrawBall [neue Version: 06.01.09]
Thema durchsuchen
Ansicht
Themen-Optionen

[Spiel] Flos DrawBall [neue Version: 06.01.09]

Ein Thema von Florian H · begonnen am 26. Nov 2006 · letzter Beitrag vom 25. Nov 2011
 
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#27

Re: [Spiel] Flos DrawBall [neue Version: 06.01.09]

  Alt 6. Jan 2009, 17:02
Danke dir!

Die Lava ist ein Graus, ich hab da schon stundenlang rumprobiert, aber es ist mir nicht gelungen, animierte Lava zu erstellen, die realistisch aussieht, nicht auf jedem Tile gleich und einen hübschen weichen Übergang nach außen hin hat ... werds aber auf jeden Fall weiter versuchen

Hm, das ist wirklich komisch mit opengL/DirectX.
Habe es bisher nur auf dem Rechner meiner Mutter getestet, da war das Verhalten wie bei mir (openGL ok, directX Grafikfehler/Schmierer durch leeres TexureSurface).

Ich habe auch schon Ewigkeiten im Code nach irgendwelchen Besonderheiten oder Abweichungen von der TextureSurface-Demo geschaut, aber ich mache eigentlich nichts seltsames.

Also mal konkret:

Mein Code, der mit openGL funktioniert, sieht so aus (gekürzt auf wesentliche Stellen, die direkt mit dem TextureSurface oder AdDraw zutun haben):
Delphi-Quellcode:
  
// onCreate
AdDraw := TAdDraw.Create(self);
AdDraw.DllName := 'AndorraOGL.dll';

if not AdDraw.Initialize then
  halt;
 
adTextureSurface := TAdTextureSurface.Create(addraw);
adTextureSurface.SetSize(768, 596);
//// Stelle 1 ////
adTextureSurface.ClearSurface(0);

// ... onIdle / Zeichenroutine
AdDraw.BeginScene;

if backgroundRedraw then // Hintergrund wurde geändert -> neu zeichnen
begin
  adTextureSurface.ClearSurface(0);
  menuImages.Items[0].Draw(adTextureSurface, 96, 96, 0);
  // usw...
  backgroundReDraw := false;
end;

adTextureSurface.Image.Draw(adDraw, 0, 0, 0);

// andere Zeichenoperationen direkt aufs adDraw

AdDraw.EndScene;
AdDraw.Flip;

Probleme:
Wenn ich einfach die openGL-DLL durch die DX-Dll ersetze, erhalte ich sowas wie in Bild 1: kompletter Müll im TS, ich kann dort auch nicht zeichnen.
Wenn ich an //// Stelle 1 //// allerdings adBackground.Texture.Clear; einfüge, erhalte ich zumindest das Ergebnis aus Bild 2: ich kann zeichnen und es wird angezeigt, allerdings nur genau in dem Zeichenschritt, wo ich auch auf das TS male. Danach ist das TS offenbar wieder leer/transparent, dadurch zieht alles Schlieren.


Hoffe, das hilft dir irgendwie weiter :/
Miniaturansicht angehängter Grafiken
fehler2_191.jpg   fehler1_721.jpg  
Florian Heft
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 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