Delphi-PRAXiS
Seite 31 von 103   « Erste     21293031 32334181     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)

xZise 20. Sep 2007 19:11

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Zitat:

Zitat von igel457
Lösung: Neukompilieren der DLLS.
Siehe auch hier http://andorra.sourceforge.net/index.php?section=FAQ

"9. After updating Andorra 2D, my application stops with an access violation."

(Stimmt, da wollte ich noch einen Link auf die Seite machen...)

Ich habe es versucht :)
Und erst nachdem ich gesehen habe, dass er die dcu's in den Ordner
Code:
..\..\[b]dcu[/b]\AdClasses.dcu\
schreiben wollte bekamm ich folgenden Fehler:
Zitat:

[Pascal Fataler Fehler] DX3DMain.pas(16): F1026 Datei nicht gefunden: 'd3dx9.dcu'
Die andere Unit
Code:
Direct3D9
ist auch unterkringelt :(
Wo bekomme ich die Units her?

igel457 20. Sep 2007 19:27

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Google ist dein Freund... ;-) Bei Google suchendelphi directx header liefert http://www.clootie.ru/delphi/download_dx92.html

Außerdem Befinden sich alle Header im Prerequisiten-Package.

Andreas

xZise 20. Sep 2007 19:44

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Ah :) Jetzt funktioniert alles wunderbar :)

Lareyne 25. Sep 2007 18:48

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Gibt es zufälligerweise ein Tutorial bzgl. Nicht-Kollision bei transparenten Stellen? Google führte mich zum PixelCheck von DelphiX, aber diesen scheint es ja in Andorra2d nicht zu geben.

igel457 25. Sep 2007 18:58

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Hallo Lareyne,

In der CVS-Version gibt es das. Wie du an die neuste CVS-Version dran kommst steht auf den vorherigen Seiten dieses Threads. Alles was du dann noch machen musst ist PixelCheck - wie bei DelphiX - auf true zu setzten. Außerdem gibt es die Möglichkeit die Methode "TestCollision" eines Sprites zu überschreiben.

Danke für deine Frage,
Andreas

xZise 25. Sep 2007 19:45

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Hi igel,
ich habe eine Frage zur Skalierbarkeit:
Du meintest in der aktuellen Version (CVS) könnte man bei der Spriteengine einstellen, wie groß ein "Spritefeld" ist?
Nun ist meine Frage: Wie kriegst du das hin :)

MfG
xZise

[edit]Wie kann ich auf eine Kollision prüfen:
Delphi-Quellcode:
procedure TAdPlayer.DoCollision(Sprite: TSprite; var Done: boolean);
begin
  inherited;
  Done := false;
end;
Er geht darein, aber egal was "Done" beinhaltet ändert nichts an der Reaktion :( [/edit]

Lareyne 26. Sep 2007 07:46

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Echt wunderlich, dass alles so "einfach" ist. Klappt alles wunderbar. Vielen Dank!

igel457 26. Sep 2007 16:52

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Hallo,

@Lareyne
Bedenke, das die Kollision mit rotierten Sprites nicht klappt. Aber wenn es soweit funktioniert, freut es mich.

@xZise
Meinst du mit Skalierbarkeit den Zoom? Das ist mithilfe der TSpriteEngineEx möglich und wird in der "Bounce"-Demo gezeigt. Zoom wird über verändern der Kameraposition (ViewMatrix) realisiert. Was du mit Spritefeld meinst verstehe ich jetzt nicht so ganz.
"Done" bewirkt nur, dass die Kollisionsprüfung abgebrochen wird - somit kann einiges an Zeit gespart werden. Du prüfst auf eine Kollision indem du "Collision" in "DoMove" aufrufst und in "DoCollision" entsprechend darauf reagierst - also z.B. eine Variable auf "true" setzt.

Hoffe das hat geholfen,
Andreas

xZise 26. Sep 2007 17:33

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Hi igel,
Zitat:

Zitat von igel457
Meinst du mit Skalierbarkeit den Zoom? Das ist mithilfe der TSpriteEngineEx möglich und wird in der "Bounce"-Demo gezeigt. Zoom wird über verändern der Kameraposition (ViewMatrix) realisiert. Was du mit Spritefeld meinst verstehe ich jetzt nicht so ganz.

Ach ja ^^ die erweiterte Engine ;)
Was ich mit Spritefeld meine ist einfach dass die Karte aus "Stücken" besteht. Und diese Größe eines Stücks wollte ich bestimmten :)

Zitat:

Zitat von igel457
"Done" bewirkt nur, dass die Kollisionsprüfung abgebrochen wird - somit kann einiges an Zeit gespart werden. Du prüfst auf eine Kollision indem du "Collision" in "DoMove" aufrufst und in "DoCollision" entsprechend darauf reagierst - also z.B. eine Variable auf "true" setzt.

Achso :)
Ich dachte "Collision" gibt zurück, ob Kolidiert wurde :)

MfG
xZise

[edit]Ich verstehe irgendwie nicht, was in "Sprite" bei DoCollision steht ?
Weil sobald ich eine Wand berühre sollte er stoppen, aber er macht nichts. Erst als der Spieler vollends in einer Wand ist.

Delphi-Quellcode:
procedure TFrPlayer.DoCollision(Sprite : TSprite; var Done: Boolean);
begin
  inherited;
  if (Sprite is TFrBackground) and ((Sprite as TFrBackground).BackgroundType = btWall) then
  begin
    Done := false;
    FColl := true;
  end else
  begin
    Done := true;
    FColl := false;
  end;
end;
[/edit]

igel457 26. Sep 2007 18:19

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.20 AL
 
Hallo xZise,

an die Größe eines Stückes kommst du über auslesen der "GridSize" property der Spriteengine. Dieser Wert steht normalerweise auf "128px". Du solltest diesen an die Größe der verwendeten Kacheln anpassen, bevor du diese erzeugt hast.

Mit der Kollision kann das so ja nicht funktionieren ;-):
Du brichst die Kollisionsüberprüfung ab, wenn du nicht gegen ein btWall stößt. Es müsste gerade anders herum sein.

Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.
Seite 31 von 103   « Erste     21293031 32334181     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