Kollisionsreaktion da, aber trotzdem CountCollisoins=0
Übersicht

horstböhseBetreff: Kollisionsreaktion da, aber trotzdem CountCollisoins=0 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!!
Also, ich habe ein Problem mit der Kollision!! Der witz an der Geschichte ist, dass es schon funktioniert hat, und jetzt plötzlich nicht mehr, obwohl ich nichts an der Kollisionsroutine geändert habe!! Ich möchte prüfen, wieviele meiner Objekte mit dem Level (ein Mesh) kollidiert sind!! Das mache ich wie folgt: Initialisierung: BlitzBasic: [AUSKLAPPEN] Function InitKollision(kmesh) In der Spielschleife: BlitzBasic: [AUSKLAPPEN] Function KollisionGleiter(kmesh) ... Das Problem: Die Kollision funktioniert, denn BB hält das Objekt bei der Berührung mit der Wand(kmesh) an!! Allerdings geht das Programm nie in die 1. For-schleife, was ich daran sehe, dass der Debugger nicht anhält!! Ich habe schon alles haarklein durchgesehen, die Übergabeparameter stimmen und alles!! Ich weiß nicht mehr weiter, und wie gesagt, so, wie es hier steht, hat es schonmal funktioniert!! Hoffentlich kann mir jemand helfen!! |
||
![]() |
Shodan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Collisions(1,2,2,1) besagt, dass der Gleiter mit der Wand kollidieren kann, nicht umgekehrt! D.h. du musst den Gleiter auf Kollision abfragen, nicht die Wand.
Du musst Collisions(2,1,2,1) setzen um die Wand mit den Gleitern kollidieren zu lassen und um dies abfragen zu können. Das setzt aber wiederum vorraus das die Wand sich bewegt um eine Kollision zu verusachen. Generell sollte die Kollisionsabfrage vom schnelleren zum langsameren Objekt erfolgen. Schüsse treffen auf Spieler. Spieler trifft auf Wände. Schüsse treffen auf Wände. Du rufst auch Countcollisions() mehrmals auf. Die zahl der Collisionen wird beim erstenmal ausgegeben. Danach ist der Stack leer. Wenn du jetzt wieder Countcollisions() für dasselbe Objekt aufrufst, wird 0 zurückgegeben. Erst nach dem nächsten Schleifendurchlauf mit Collisionen und UpdateWorld() kannst du es wieder aufrufen. Übergib den Wert von Countcollisions() an eine Variable und frage den Gleiter ab, nicht die Wand BlitzBasic: [AUSKLAPPEN]
statt BlitzBasic: [AUSKLAPPEN]
Ich hoffe ich konnte dir helfen. Shodan |
||
www.selfmadegames.de |
horstböhse |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So hätte ich es dann auch gemacht, wenn ich das Problem nicht gelöst hätte!!
Was mich halt bloß verwundert, ist, dass es auf diese Weise schon funktioniert hat!! Wahrscheinlich war das dann Zufall, was? Naja, jetzt weiß ich auf jedenfall, dass ich es anders machen muss!! Vielen Dank, hast mir sehr geholfen! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group