Open merkourisa opened 3 years ago
στο game controller οταν ξεκιναω το παιχνιδι καταστρεφει τελειως το αντικειμενο που κανει instantiate. καμια ιδεα γιατι το κανει αυτο;
@jasonbizas έχεις ορίσει στo GameObject hazard το αντικείμενο που θα παίξει το ρόλο του εχθρού? Έχεις προσαρμόσει σωστά το spawnPosition ώστε οι εχθροί να έρχονται από δεξιά και όχι από πάνω?
τελικα το προβλημα ηταν οτι κινούταν σε λαθος αξονα και καταστρεφοταν επειδη χτυπουσε στο boundary.
Ειμαι στο σημειο με τις εκρηξεις και ενω ο "εχθρος" ανατιναζεται μια χαρα οταν πυροβολω, ο player δεν αντιδραει καθολου (δεν κανει εκρηξη) οταν τον ακουμπησω στον εχθρο. Εχω ελεγξει τα σκριπτς και τα κολάιντερ και ειναι ολα σωστα. Τι μπορει να φταιει, ξερετε;
ΕDIT: Tελικα αντιδραει και ο παιχτης, αλλα επειδη ο παιχτης μου ειναι ενα αεροπλάνο που αποτελείται από πολλά κομματια, εξαφανίζεται το κυριως σώμα του αεροπλάνου και μένουν να πετάνε μόνα τους κάτι ροδακια του και οι μηχανές του. Παρόλο που όλα τα κομμάτια του αεροπάνου ειναι "παιδιά" ενός αντικειμένου που ειναι όλο το αεροπλάνο, δεν αντιδρούν στην εκρηξη... καμια ιδέα για το πως να λυθει αυτο;
@EffieZeibekis από ότι κατάλαβα καταστρέφεται το κυρίως μέρος του αεροπλάνου που ακουμπάει στον εχθρό με χρήση της Destroy () και παραμένουν τα υπόλοιπα κομμάτια του αεροπλάνου τα οποία δεν καταστρέφονται και συνεχίζουν να πετάνε.
Θα πρέπει να ψάξεις πως μπορείς να καταστρέψεις όλα τα gameobject που αποτελούν τον παίκτη (parent or child). Θα μπορούσες επίσης να ανατρέξεις στις οδηγίες του 5ου εργαστηρίου και συγκεκριμένα στον υπόδειγμα κώδικα που υπάρχει κάτω από την εικόνα 5 όπου κάνουμε destroy τα coins σύμφωνα με το tag.
Στο σημείο με τις εκρήξεις κι εγώ αντιμετωπίζω πρόβλημα με τον player. Ενώ ο αστεροειδής κατά την επαφή με τις σφαίρες καταστρέφεται κανονικά, όταν έρχεται σε επαφή με τον παίχτη είναι σαν απλά να περνά από πίσω του χωρίς να δημιουργεί πρόβλημα. Προσπάθησα να δω στον κώδικα αν μπορεί να μεταβληθεί κάτι, είδα και το lab 5 που είπατε πιο πάνω αλλά δεν μπορώ να το επιλύσω
@valiagn Κοίταξες στο Transform -> Position αν τα εχεις στο ιδιο επίπεδο?
@lifeaafter το κοίταξα δεν άλλαξε κάτι. Μάλιστα δημιουργώντας τον game controller δεν αντιδρούν ούτε οι αστεροειδείς στην επαφή με τις σφαίρες. Ενώ, αν υπάρχει από μόνο του το saved asteroid prefab στην σκηνή αντιδρά κανονικά.
@valiagn Από την στιγμή που έχεις ελέγξει ότι τα αντικείμενα κινούνται στο ίδιο επίπεδο και άρα μπορούν να συγκρουστούν θα πρέπει να ελέγξεις αν έχεις ενσωματώσει στα αντικείμενα (πχ παίκτης και εχθρός) τους κατάλληλους colliders που θα ανιχνεύσουν τις συγκρούσεις. Στη συνέχεια πρέπει να ελέγξεις τον κώδικα σου (DestroyByContact ?) και συγκεκριμένα την OnTriggerEnter (δες αναλυτικά στο lab 5).