Aktualisierung nach Kollision mit EntityCollided [Gelöst]
Übersicht

![]() |
TrustBetreff: Aktualisierung nach Kollision mit EntityCollided [Gelöst] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo habe folgendes Problem das hier noch nicht behandelt wurde.
Der Code: Code: [AUSKLAPPEN] Function PowerUpCollisions()
For p.Player = Each Player For pu.PowerUp = Each PowerUp If EntityCollided(pu\Obj, 1) Select pu\Name$ Case "HealthPack" If p\Health < 100 p\Health = 100 HideEntity pu\Obj EndIf End Select EndIf Next Next End function Die Kollision mit dem PowerUp funktioniert soweit und p\Health erhält den Wert 100 falls es vor der Kollision unter 100 war. Nur leider bleibt p\Health danach 100 oder bzw wird immer wieder auf 100 gesetzt wenn der player schaden nimmt. Obwohl ich das Powerup eigentlich nach der Kollision Hide und somit normalerweise keine Kollision mehr möglich wäre. Also is es mir nichtmehr möglich irgendwie p\health auf einen anderen wert als auf 100 zu setzen sobald ich einmal mit dem powerup kollidiert bin. Mir kommt es so vor als das EntityCollided bei nicht kollision nicht wieder auf den Wert 0 gesetzt wird. Habe es auch mit einer Variablen versucht die den Wert von EntityCollided speichert, und nach Kollision auf 0 gesetzt, Leider kein Erfolg. Ich bin hier überfordert. wäre sehr nett wenn mir jemand helfen könnte! Vielen Dank Trust |
||
- Zuletzt bearbeitet von Trust am Sa, Apr 24, 2010 17:22, insgesamt einmal bearbeitet
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne jemals selbst dieses Problem bewältigt zu haben - hilft dir ClearCollisions![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Trust |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke für die Antwort.
Aber leider habe ich das auch schon versucht, ohne gewünschtes Ergebnis zu erreichnen. Denn dann existieren keine Kollisionen mehr und der Spieler fällt sogar durch die Map. Hat vielleicht noch wer eine Idee woran es liegen kann? |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest ResetEntity![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Trust |
![]() Antworten mit Zitat ![]() |
---|---|---|
ResetEntity würde nix nützen, da ja auch mit HideEntity keine Kollision mehr stattfinden kann.
Findet auch nicht, das hab ich getestet. Trotzdem führt er die Befehle nach EntityCollided aus. (p\Health = 100 usw.). Ich glaube das der Wert von EntityCollided nichtmehr verändert wird wenn es keine Kollision gibt. Denn das Koriose ist: Ich habe zu Testzwecken mal das "HideEntity pu\Obj mit "FreeEntity p\Obj, "Delete pu.PowerUp" ausgetauscht... Und siehe da, es funktioniert wie am schnürchen. Nur möchte ich die Objekte ja nicht komplett aus dem Speicher entfernen, da ich sie später mithilfe eines Timers wieder sichtbar machen möchte (ShowEntity). Was läuft da Falsch?? |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich glaube hiden allein schaltet kollisionen nicht ganz ab. Diese Erfahrung habe ich auch machen müssen, als ich das Sterben und Wiederbeleben (nach Verschieben) des Spielerraumschiffes programmiert habe.
Selbst, wenn du nicht nach Collisions checkst, kann Collision statfinden. Bei mir hat es geholfen vorübergehend die Collision Type des Objektes mit ResetEntity abzuschalten. |
||
![]() |
Trust |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso und nach bestimmter Zeit (wenn man es wieder auf Kollision prüfen möchte) eben wieder den entitytype setzen? (Entitytype pu\obj, 10) zb... ? | ||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja.
In meinem Fall resete ich die Collision bevor ich das Objekt verschiebe und gleich nach dem das getan ist weise ich dem Objekt wieder die Kollisionsinformationen zu. |
||
![]() |
Trust |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok alles klar, funktioniert wunderbar.
Danke vielmals! Lg Trust |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group