merkourisa / Space-Shooter

Shooter Game
https://merkourisa.github.io/Space-Shooter/
3 stars 63 forks source link

Παραδοτέο 2 #2

Open merkourisa opened 3 years ago

merkourisa commented 3 years ago
jasonbizas commented 2 years ago

στο game controller οταν ξεκιναω το παιχνιδι καταστρεφει τελειως το αντικειμενο που κανει instantiate. καμια ιδεα γιατι το κανει αυτο;

merkourisa commented 2 years ago

@jasonbizas έχεις ορίσει στo GameObject hazard το αντικείμενο που θα παίξει το ρόλο του εχθρού? Έχεις προσαρμόσει σωστά το spawnPosition ώστε οι εχθροί να έρχονται από δεξιά και όχι από πάνω?

jasonbizas commented 2 years ago

τελικα το προβλημα ηταν οτι κινούταν σε λαθος αξονα και καταστρεφοταν επειδη χτυπουσε στο boundary.

EffieZeibekis commented 2 years ago

Ειμαι στο σημειο με τις εκρηξεις και ενω ο "εχθρος" ανατιναζεται μια χαρα οταν πυροβολω, ο player δεν αντιδραει καθολου (δεν κανει εκρηξη) οταν τον ακουμπησω στον εχθρο. Εχω ελεγξει τα σκριπτς και τα κολάιντερ και ειναι ολα σωστα. Τι μπορει να φταιει, ξερετε;

ΕDIT: Tελικα αντιδραει και ο παιχτης, αλλα επειδη ο παιχτης μου ειναι ενα αεροπλάνο που αποτελείται από πολλά κομματια, εξαφανίζεται το κυριως σώμα του αεροπλάνου και μένουν να πετάνε μόνα τους κάτι ροδακια του και οι μηχανές του. Παρόλο που όλα τα κομμάτια του αεροπάνου ειναι "παιδιά" ενός αντικειμένου που ειναι όλο το αεροπλάνο, δεν αντιδρούν στην εκρηξη... καμια ιδέα για το πως να λυθει αυτο;

merkourisa commented 2 years ago

@EffieZeibekis από ότι κατάλαβα καταστρέφεται το κυρίως μέρος του αεροπλάνου που ακουμπάει στον εχθρό με χρήση της Destroy () και παραμένουν τα υπόλοιπα κομμάτια του αεροπλάνου τα οποία δεν καταστρέφονται και συνεχίζουν να πετάνε.

Θα πρέπει να ψάξεις πως μπορείς να καταστρέψεις όλα τα gameobject που αποτελούν τον παίκτη (parent or child). Θα μπορούσες επίσης να ανατρέξεις στις οδηγίες του 5ου εργαστηρίου και συγκεκριμένα στον υπόδειγμα κώδικα που υπάρχει κάτω από την εικόνα 5 όπου κάνουμε destroy τα coins σύμφωνα με το tag.

valiagn commented 2 years ago

Στο σημείο με τις εκρήξεις κι εγώ αντιμετωπίζω πρόβλημα με τον player. Ενώ ο αστεροειδής κατά την επαφή με τις σφαίρες καταστρέφεται κανονικά, όταν έρχεται σε επαφή με τον παίχτη είναι σαν απλά να περνά από πίσω του χωρίς να δημιουργεί πρόβλημα. Προσπάθησα να δω στον κώδικα αν μπορεί να μεταβληθεί κάτι, είδα και το lab 5 που είπατε πιο πάνω αλλά δεν μπορώ να το επιλύσω

lifeaafter commented 2 years ago

@valiagn Κοίταξες στο Transform -> Position αν τα εχεις στο ιδιο επίπεδο?

valiagn commented 2 years ago

@lifeaafter το κοίταξα δεν άλλαξε κάτι. Μάλιστα δημιουργώντας τον game controller δεν αντιδρούν ούτε οι αστεροειδείς στην επαφή με τις σφαίρες. Ενώ, αν υπάρχει από μόνο του το saved asteroid prefab στην σκηνή αντιδρά κανονικά.

merkourisa commented 2 years ago

@valiagn Από την στιγμή που έχεις ελέγξει ότι τα αντικείμενα κινούνται στο ίδιο επίπεδο και άρα μπορούν να συγκρουστούν θα πρέπει να ελέγξεις αν έχεις ενσωματώσει στα αντικείμενα (πχ παίκτης και εχθρός) τους κατάλληλους colliders που θα ανιχνεύσουν τις συγκρούσεις. Στη συνέχεια πρέπει να ελέγξεις τον κώδικα σου (DestroyByContact ?) και συγκεκριμένα την OnTriggerEnter (δες αναλυτικά στο lab 5).