Wikked Geschrieben 18. Oktober 2015 Melden Share Geschrieben 18. Oktober 2015 Hi, ich habe, wie der Titel schon sagt, ein Problem mit den Trigger Collider. Und zwar versuche ich grad Leitern in mein 2D Spiel einzufügen, die der Spieler hochklettern kann. Ich hab meine einzelnen Leiter Sprites in ein leeren GameObject rein und diesem einen BoxCollider verpasst der als Trigger funktionieren soll. Ich poste einfach direkt das entsprechende Skript zu den Leitern using UnityEngine; using System.Collections; public class Ladders : MonoBehaviour { private PlayerController Player; void Start () { Player = GameObject.FindGameObjectWithTag("Player").GetComponent<PlayerController>(); } void OnTriggerEnter2D(Collider2D other) { if(other.CompareTag("Player")) { Player.onLadder = true; } } void OnTriggerExit2D(Collider2D other) { if (other.CompareTag("Player")) { Player.onLadder = false; } } } Bool onLadder ist im Player Controller ohne Zuweisung initialisiert. Beim testen verändert sich die Variable jedoch gar nicht. Player hat den entsprechenden Tag, Skripte sind zugewiesen. Hab auch mit den Layern bisschen rumgespielt aber funktioniert alles nicht. Was ich komisch find ist das genau die selben Methoden jedoch bei Spikes zum Schaden nehmen funktionieren :/ mfg Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
6-huber Geschrieben 18. Oktober 2015 Melden Share Geschrieben 18. Oktober 2015 hat eines der objects einen rigitbody? wenn nein hol das nach und probiers erneut Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Darkkingdom Geschrieben 18. Oktober 2015 Melden Share Geschrieben 18. Oktober 2015 Handelt es sich denn beim Player Collider um einen BoxCollider oder einen BoxCollider2D? OnTrigger2D Sachen werden meines wissens ja nur von 2D Collidern getriggert. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Felix K. Geschrieben 18. Oktober 2015 Melden Share Geschrieben 18. Oktober 2015 Hi, wie schon erwähnt auf BoxCollider2D prüfen oder auch auf die z-Position. Bin mir nicht sicher ob das Einfluss hat, aber es kann ja sein. Mfg Felix Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hrungdak Geschrieben 19. Oktober 2015 Melden Share Geschrieben 19. Oktober 2015 Die z-Position hat bei 2D-Collisions keinen Einfluss. Die z-Position ist nur für die visuelle Darstellung relevant. Einfach alles nochmal durchprüfen: Hat einer der beteiligten Akteure (am besten der Player) einen Rigidbody2D? Haben alle beteiligten einen 2D-Collider? Sind alle Collider auf Trigger gestellt? Benutzt du überall die 2D-Methoden? Vor allem das 2D überall hat mir schon manchmal Kopfzerbrechen und stundenlange Suche bereitet. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Wikked Geschrieben 19. Oktober 2015 Autor Melden Share Geschrieben 19. Oktober 2015 Jap war das 2D Die Leiter hatte nen normalen BoxCollider. Aber da hab ich dann auch schon gleich das nächste Problem mit Moving Platform. Denn wenn der Player draufsteht dann bewegt er sich nicht mit sondern fällt runter wenn man als Spieler nicht "mitläuft". Auch hier lieber den zugehören Code bevor ichs versuch zu erklären void OnCollisionEnter2D(Collision2D other) { if (other.transform.name == "MP") { transform.parent = other.transform; } } void OnCollisionExit2D(Collision2D other) { if (other.transform.tag == "MP") { transform.parent = null; } } Auch hier hab ich eigentlich alles kontrolliert. Tag ist zugewiesen, alle haben richtigen Collider, Spieler hat Rigidbody. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hrungdak Geschrieben 19. Oktober 2015 Melden Share Geschrieben 19. Oktober 2015 Die Standardantwort lautet hier: mach den Player zum Child der Platform, so lange er darauf steht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Wikked Geschrieben 19. Oktober 2015 Autor Melden Share Geschrieben 19. Oktober 2015 Vielen Dank klappt nun erstmal alles =) Mal schauen wann ich wieder Probleme haben werde Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.