Delphi-PRAXiS
Seite 70 von 103   « Erste     2060686970 717280     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Andorra 2D [Ver. 0.4.5.1, 31.12.08] (https://www.delphipraxis.net/81314-andorra-2d-%5Bver-0-4-5-1-31-12-08%5D.html)

Codewalker 2. Jul 2008 11:40

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin zusammen.

Auch wenn Andreas im Urlaub ist, kann mir vielleicht jemand helfen. Ich habe auf die 0.4 gewechselt (und musste beim TAdSetupDlg ein paar Kleinigkeiten ändern), sehe aber jetzt nicht mehr meine Landschaft im ganzen, sondern eine nahezu schwarze Fläche, und nur beim scrollen oben links in der Ecke einen kleinen Teil des Spielfeldes, der aber auch immer wieder im Schwarz verschwindet. Jemand eine Ahnung was zu tun ist (DLLs schon durch die von 0.4 ersetzt)

Florian H 2. Jul 2008 12:35

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Für die nicht so versierten: was bringen die Neuerungen wie die Shadersache? Beispielscreenshots oder Demos der neuen Funktionen? :]

3_of_8 2. Jul 2008 13:45

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Unter anderem kannst du damit Texturen auf der GPU manipulieren und anderes aufwändiges Grafikzeug dorthin auslagern, um die CPU zu schonen.

Namenloser 2. Jul 2008 14:10

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Hey,
cool dass es jetzt Shader gibt. Jetzt muss ich nur noch lernen wie man die programmiert xD
Gibts denn ein Tutorial wie man die einbindet?

3_of_8 2. Jul 2008 14:42

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Nein. Aber du kannst dir ja mal die Dokumentation durchlesen. (Dateien AdShader.pas und AdShaderClasses.pas), vielleicht reicht die aus.

inherited 2. Jul 2008 16:10

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Zitat:

Zitat von Codewalker
Moin zusammen.

Auch wenn Andreas im Urlaub ist, kann mir vielleicht jemand helfen. Ich habe auf die 0.4 gewechselt (und musste beim TAdSetupDlg ein paar Kleinigkeiten ändern), sehe aber jetzt nicht mehr meine Landschaft im ganzen, sondern eine nahezu schwarze Fläche, und nur beim scrollen oben links in der Ecke einen kleinen Teil des Spielfeldes, der aber auch immer wieder im Schwarz verschwindet. Jemand eine Ahnung was zu tun ist (DLLs schon durch die von 0.4 ersetzt)

Hmmm. Rufst du irgendwo Setup2dScene auf? Wenn nein würde ich gerne etwas Code sehen. Wenn du ihn hier nicht Posten magst kannst du vielleicht ein neues Projekt erzeugen und das Problem rekonstruieren oder mir den Code per PN schicken, ich werde ihn nicht irgendwie "klauen".
Und was für Kleinigkeiten musstest du anpassen?

Codewalker 2. Jul 2008 18:06

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
hm, mal so weit wie möglich zusammengezurrt:

Delphi-Quellcode:
var
  AdSetupDlg: TAdSetup;
begin
  AdDraw := TAdDraw.Create(Parent);
  AdSetupDlg     := TAdSetup.Create(Canvas);
  AdSetupDlg.Image := 'Logo.png';

  if AdSetupDlg.Execute then
  begin
    if Canvas.Initialize then
    begin
      State     := [rsFPS, rsMap];
      InputState := [];
    end
    else
    begin
      Result := False;
      Exit;
    end;
  end
  else
    halt;
  AdSetupDlg.Free;
  Result := True;
  Application.OnIdle := Idle; // Renderingschleife zuweisen
und die Idle-Routine:

Delphi-Quellcode:
 PerformanceCounter.Calculate;
 DoScroll(PerformanceCounter.TimeGap); // Scroll in der Sprite-Engine

  if Canvas.CanDraw then //Wenn überhaupt auf das AdDraw gezeichnet werden kann dann...
  begin
    Canvas.ClearSurface(0); //Füllt die Oberfläche mit schwarzer Farbe

    Canvas.BeginScene;

    if (rsFPS in State) then
      RenderFPS;
    if (rsMap in State) begin
        SpriteEngine.Dead;
        SpriteEngine.Draw;
      end;


    Canvas.EndScene;

    Canvas.Flip; //Präsentiert die gezeichneten Dinge auf dem Bildschirm.
  end;
Und nein, ich rufe kein Setup2D-Engine auf. Sollte ich es denn tun?

Und die Kleinigkeiten:

Der Parameter im Konstruktor von TAdSetupDlg ist kein Form mehr, sondern ein TAdDraw und es gibt die Properties Parent (TForm) und ... noch eins (vergessen) nicht mehr

inherited 2. Jul 2008 19:09

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Zeig mir bitte mal die Stelle, an der du die SpriteEngine erstellst.
Was genau da schief geht kann ich dir leider nicht sagen, da musst du eventuell warten bis der Igel wieder da ist.
Was mir beim Anschauen des Andorra-Codes eben aufgefallen ist, ist dass offenbar das interne Surface-Rect der Spriteengine erst beim Aufruf von TSpriteEngine.Move gesetzt bzw aktualisiert wird. Vielleicht hilft einmaliger oder regelmäßiger Aufruf von Move.

Codewalker 2. Jul 2008 19:13

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Args, der Aufruf von Move im Idle hat alles geklärt. Ist aber wohl auch erst seit der 0.4 so.
Move hatte ich bisher nicht drin, weil noch keine Animationen oder Bewegungen drin waren (und scrollen klappte mit 0.35 auch so :mrgreen: ).
Danke für die Hilfe :thumb:

inherited 2. Jul 2008 20:11

Re: Andorra 2D [Ver. 0.40, 01.07.08]
 
Ich halte das auch für nicht gewollt. Das eigene Surface sollte eigentlich auch vorher schon einmal gesetzt werden. ich schreib's mir auf und sag es dem Igel wenn er wieder da ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Seite 70 von 103   « Erste     2060686970 717280     Letzte »    

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