Autor Beitrag
somebody
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 167
Erhaltene Danke: 2



BeitragVerfasst: Di 06.05.08 17:06 
Hallo leute, bei meinem Momentanen SPiel, woran ich gerade arbeite, da habe ich bis jetzt schon ein gegner, dieser maschiert aber ganz gemütlich durch Wände. Ich habe versucht dies zu beheben mit:

ausblenden Delphi-Quelltext
1:
2:
3:
Result := Boolean(geWorld_Collision (World, @MinVector, @MaxVector,
    @LookVector, @ViewVector, GE_CONTENTS_SOLID_CLIP, GE_COLLIDE_ALL,
    0nilnil, @KontaktInfo));


aber irgendwie läuft der immer noch durch Wände. Weiß jemand, wie ich das beheben kann?
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Di 06.05.08 17:30 
Und wieder ist es exakt der Quelltext aus Game Programming für Kids ODER aus diesem Tutorial... Bist du dir sicher, dass du alles gelesen hast? Das Result ist doch der Rückgabewert einer Funktion (welche auch immer). Diese rufst du auf. Da ich schon lange nicht mehr mit G4D (Genesis 3D for Delphi) programmiert habe, weiß ich nicht mehr, was der Rückgabewert zu sagen hat, aber mein Verständnis sagt mir, dass True bedeutet, dass es eine Kollision gibt. Du musst also auch wirklich irgendwo abfragen, ob es eine Kollision gibt und je nach Rückgabewert handeln. Zeig am Besten dazu noch den Code für's Rendering (achso: Noch ein Grund, weshalb ich nicht mehr mit G4D programmiere: Man kann sich meiner Meinung nach nicht alles merken, man muss so gut wie immer zumindest das Grundgerüst abschreiben und für wirklich große Spiele eignet sich G4D auch nicht, sodass das Grundgerüst fast immer den größten Teil einnehmen wird).

/EDIT: Wenn du etwas für den Gegner testen willst, musst du selbstverständlich auch die Vektoren des Gegners angeben.
somebody Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 167
Erhaltene Danke: 2



BeitragVerfasst: Mi 07.05.08 13:03 
Zitat:

Das Result ist doch der Rückgabewert einer Funktion (welche auch immer). Diese rufst du auf. Da ich schon lange nicht mehr mit G4D (Genesis 3D for Delphi) programmiert habe, weiß ich nicht mehr, was der Rückgabewert zu sagen hat, aber mein Verständnis sagt mir, dass True bedeutet, dass es eine Kollision gibt. Du musst also auch wirklich irgendwo abfragen, ob es eine Kollision gibt und je nach Rückgabewert handeln.

Das stimmt, zwar, das true bedeutet, dass es eine Collision gibt. Aber beim anderen uss ich dir wiedersprchen. Die gleiche function hae ich auch bei mir selber(dem SPieler) und dieser kann nicht durch Wäne laufen.

Kann mir da jemand helfen?