Κατασκευάστε το πρώτο βασικό παιχνίδι Android σε μόλις 7 λεπτά (με την Ενότητα)

Συγγραφέας: Lewis Jackson
Ημερομηνία Δημιουργίας: 11 Ενδέχεται 2021
Ημερομηνία Ενημέρωσης: 1 Ιούλιος 2024
Anonim
Κατασκευάστε το πρώτο βασικό παιχνίδι Android σε μόλις 7 λεπτά (με την Ενότητα) - Νέα
Κατασκευάστε το πρώτο βασικό παιχνίδι Android σε μόλις 7 λεπτά (με την Ενότητα) - Νέα

Περιεχόμενο


Η δημιουργία ενός πλήρως λειτουργικού παιχνιδιού για το Android είναι πολύ πιο εύκολη από ό, τι νομίζετε. Το κλειδί για την επιτυχημένη ανάπτυξη Android - ή κάθε είδους ανάπτυξη - είναι να γνωρίζετε τι θέλετε να επιτύχετε και να βρείτε τα απαραίτητα εργαλεία και δεξιότητες για να το κάνετε. Πάρτε το μονοπάτι της ελάχιστης αντίστασης και έχετε έναν σαφή στόχο στο μυαλό.

Όταν πρόκειται για τη δημιουργία παιχνιδιών, το καλύτερο εργαλείο κατά τη γνώμη μου είναι η Ενότητα. Ναι, μπορείτε να κάνετε ένα παιχνίδι στο Android Studio, αλλά αν δεν είστε έμπειροι με την Java και το Android SDK, θα είναι ένας αγώνας ανησυχίας. Θα πρέπει να καταλάβετε τι κάνουν τα μαθήματα. Θα χρειαστεί να χρησιμοποιήσετε προσαρμοσμένες προβολές. Θα βασίζεστε σε μερικές επιπλέον βιβλιοθήκες. Η λίστα συνεχίζεται.

Η ενότητα είναι ένα εξαιρετικά επαγγελματικό εργαλείο που εξουσιάζει τη συντριπτική πλειοψηφία των μεγαλύτερων τίτλων πώλησης στο Play Store.

Ενότητα από την άλλη πλευρά κάνει το μεγαλύτερο μέρος της εργασίας για σας. Αυτή είναι μια μηχανή παιχνιδιών, που σημαίνει ότι όλη η φυσική και πολλά άλλα χαρακτηριστικά που μπορεί να θέλετε να χρησιμοποιήσετε έχουν ήδη ληφθεί μέριμνα. Είναι cross platform και έχει σχεδιαστεί για να είναι πολύ αρχάριος φιλικός για τους χομπίστες και τους ανεξάρτητους προγραμματιστές.


Ταυτόχρονα, η Unity είναι ένα εξαιρετικά επαγγελματικό εργαλείο που εξουσιάζει τη μεγάλη πλειοψηφία των μεγαλύτερων τίτλων πώλησης στο Play Store. Δεν υπάρχουν εδώ περιορισμοί και κανένας καλός λόγος για να καταστήσετε τη ζωή πιο δύσκολη για τον εαυτό σας. Είναι επίσης δωρεάν!

Για να καταδείξετε πόσο εύκολη είναι η ανάπτυξη παιχνιδιών με την Unity, θα σας δείξω πώς να φτιάξετε το πρώτο σας παιχνίδι στο Android σε μόλις 7 λεπτά.

Όχι - δεν πρόκειται να εξηγώ πώς να το κάνουμε σε 7 λεπτά. Πρόκειται να Κάνε το σε 7 λεπτά. Εάν ακολουθήσετε και εσείς, θα είστε σε θέση να κάνετε ακριβώς το ίδιο πράγμα!

Αποποίηση ευθυνών: πριν ξεκινήσουμε, θέλω απλώς να επισημάνω ότι είμαι ελαφρώς εξαπάτηση. Ενώ η διαδικασία δημιουργίας του παιχνιδιού θα διαρκέσει 7 λεπτά, αυτό προϋποθέτει ότι έχετε ήδη εγκαταστήσει την Unity και έχετε πάρει τα πάντα. Αλλά δεν θα σας αφήσει να κρέμονται: μπορείτε να βρείτε ένα πλήρες σεμινάριο για το πώς να το κάνουμε πάνω από.


Προσθέτοντας sprites και φυσική

Ξεκινήστε κάνοντας διπλό κλικ στο Unity για να το ξεκινήσετε. Ακόμη και το μακρύτερο ταξίδι ξεκινά με ένα μόνο βήμα.

Τώρα δημιουργήστε ένα νέο έργο και βεβαιωθείτε ότι έχετε επιλέξει "2D". Μόλις μπείτε, θα σας υποδεχτεί με μερικά διαφορετικά παράθυρα. Αυτά κάνουν τα πράγματα. Δεν έχουμε χρόνο να εξηγήσουμε, γι 'αυτό ακολουθήστε τις οδηγίες μου και θα το πάρετε όσο πηγαίνουμε.

Το πρώτο πράγμα που θα θελήσετε να κάνετε είναι να δημιουργήσετε ένα σπρίτ που θα είναι ο χαρακτήρας σας. Ο ευκολότερος τρόπος να γίνει αυτό είναι να σχεδιάσετε ένα τετράγωνο. Θα την δώσουμε μερικά μάτια. Αν θέλετε ακόμα πιο γρήγορα, μπορείτε να πάρετε ένα sprite που σας αρέσει από κάπου.

Αποθηκεύστε αυτό το sprite και στη συνέχεια απλά το σύρετε και αφήστε το σε "σκηνή" τοποθετώντας το στο μεγαλύτερο παράθυρο. Θα παρατηρήσετε ότι εμφανίζεται επίσης στα αριστερά στην 'ιεραρχία'.

Τώρα θέλουμε να δημιουργήσουμε κάποιες πλατφόρμες. Και πάλι, θα κάνουμε να κάνουμε με ένα απλό τετράγωνο και θα είμαστε σε θέση να αλλάξετε το μέγεθος αυτού του ελεύθερου χεριού για να κάνετε τοίχους, πλατφόρμες και τι έχετε.

Πάμε, όμορφο. Πιάστε το με τον ίδιο τρόπο που μόλις κάνατε.

Έχουμε ήδη κάτι που μοιάζει με «παιχνίδι». Κάντε κλικ στο κουμπί αναπαραγωγή και πρέπει να δείτε μια στατική σκηνή για τώρα.

Μπορούμε να το αλλάξουμε κάνοντας κλικ στο sprite παίκτη μας και κοιτάζοντας προς τα δεξιά στο παράθυρο που ονομάζεται «επιθεωρητής». Εδώ αλλάζουμε τις ιδιότητες των GameObjects μας.

Επιλέξτε "Προσθήκη στοιχείου" και επιλέξτε "Φυσική 2D> RigidBody2D". Μόλις προσθέσατε τη φυσική στον παίκτη σας! Αυτό θα ήταν απίστευτα δύσκολο για μας να το κάνουμε μόνοι μας και πραγματικά υπογραμμίζει τη χρησιμότητα της Ενότητας.

Θέλουμε επίσης να καθορίσουμε τον προσανατολισμό μας για να αποτρέψουμε το χαρακτήρα του να περιστρέφεται και να περιστρέφεται ελεύθερα. Βρείτε 'περιορισμούς' στον επιθεωρητή με τον παίκτη που επιλέξατε και σημειώστε το πλαίσιο για να παγώσετε την περιστροφή Z. Τώρα πατήστε ξανά την αναπαραγωγή και θα πρέπει να βρείτε ότι ο παίκτης σας πέφτει τώρα από τον ουρανό στην άπειρη μοίρα του.

Αφιερώστε λίγο χρόνο για να αναλογιστείτε πόσο εύκολο ήταν αυτό: απλά εφαρμόζοντας αυτή τη δέσμη ενεργειών που ονομάζεται 'RigidBody2D' έχουμε πλήρως λειτουργική φυσική. Εάν εφαρμόσαμε το ίδιο σκηνικό σε στρογγυλό σχήμα, θα έπαιζε και θα μπορούσε να αναπηδήσει. Φανταστείτε την κωδικοποίηση από τον εαυτό σας και το πόσο εμπλεκόμενο θα ήταν αυτό!

Για να σταματήσετε να πέφτει ο χαρακτήρας μας στο πάτωμα, θα χρειαστεί να προσθέσετε έναν επιταχυντή. Αυτό είναι βασικά το στέρεο περίγραμμα ενός σχήματος. Για να το εφαρμόσετε, επιλέξτε τη συσκευή αναπαραγωγής, κάντε κλικ στην επιλογή 'Προσθήκη στοιχείου' και αυτή τη φορά επιλέξτε 'Physics 2D> BoxCollider2D'.

Αφιερώστε λίγο χρόνο για να αναλογιστείτε πόσο εύκολο ήταν αυτό: απλά εφαρμόζοντας αυτή τη δέσμη ενεργειών που ονομάζεται 'RigidBody2D' έχουμε πλήρως λειτουργική φυσική.

Κάνετε ακριβώς το ίδιο πράγμα με την πλατφόρμα, πατήστε το παιχνίδι και στη συνέχεια ο χαρακτήρας σας πρέπει να πέσει πάνω στο συμπαγές έδαφος. Εύκολος!

Ένα ακόμη πράγμα: για να βεβαιωθείτε ότι η κάμερα ακολουθεί τον παίκτη μας είτε πέφτει είτε κινείται, θέλουμε να σύρετε το αντικείμενο κάμερας που βρίσκεται στη σκηνή (αυτό δημιουργήθηκε όταν ξεκινήσατε το νέο έργο) πάνω από τη συσκευή αναπαραγωγής. Τώρα στην ιεραρχία (η λίστα των GameObjects στα αριστερά) θα σύρετε τη φωτογραφική μηχανή έτσι ώστε να είναι χαραγμένη κάτω από τη συσκευή αναπαραγωγής. Η κάμερα είναι τώρα ένα «παιδί» του παίκτη GameObject, που σημαίνει ότι όταν ο παίκτης κινείται, έτσι και η κάμερα.

Το πρώτο σας σενάριο

Θα κάνουμε έναν βασικό άπειρο δρομέα και αυτό σημαίνει ότι ο χαρακτήρας μας θα πρέπει να μετακινείται δεξιά στην οθόνη μέχρι να χτυπήσει ένα εμπόδιο. Γι 'αυτό χρειαζόμαστε ένα σενάριο. Έτσι κάντε δεξί κλικ στο φάκελο Assets κάτω από το κάτω μέρος και δημιουργήστε ένα νέο φάκελο που ονομάζεται 'Scripts'. Τώρα κάντε δεξί κλικ ξανά και επιλέξτε 'Δημιουργία> C # Script'. Καλέστε το 'PlayerControls'.

Ως επί το πλείστον, τα σενάρια που δημιουργούμε θα καθορίσουν συγκεκριμένες συμπεριφορές για τα GameObjects μας.

Τώρα κάντε διπλό κλικ στο νέο σας script και θα ανοίξει στο Visual Studio αν ρυθμίσετε τα πάντα σωστά.

Υπάρχει ήδη κάποιος κώδικας εδώ, ο οποίος είναι "κωδικός πλάκας λέβητα". Αυτό σημαίνει ότι είναι κώδικας που θα χρειαστεί να χρησιμοποιήσετε σχεδόν σε κάθε σενάριο, οπότε έτοιμο για να εξοικονομήσετε χρόνο. Τώρα θα προσθέσουμε ένα νέο αντικείμενο με αυτή τη γραμμή πάνω από το void Start ():

δημόσια Rigidbody2D rb;

Στη συνέχεια, τοποθετήστε αυτήν την επόμενη γραμμή κώδικα μέσα στη μέθοδο Start () για να βρείτε το rigidbody. Αυτό βασικά λέει στην Unity να εντοπίσει τη φυσική που είναι συνδεδεμένη με το GameObject που θα συνδέεται με αυτό το σενάριο (φυσικά ο παίκτης μας). Το Start () είναι μια μέθοδος που εκτελείται μόλις δημιουργηθεί ένα νέο αντικείμενο ή σενάριο. Εντοπίστε το αντικείμενο φυσικής:

rb = GetComponent();

Προσθέστε αυτό το εσωτερικό Ενημέρωση ():

rb.velocity = νέο Vector2 (3, rb.velocity.y);

Η ενημέρωση () ανανεώνεται επανειλημμένα και έτσι οποιοσδήποτε κωδικός εδώ θα τρέξει ξανά και ξανά μέχρι να καταστραφεί το αντικείμενο. Όλα αυτά λένε ότι θέλουμε το άκαμπτο σώμα μας να έχει ένα νέο διάνυσμα με την ίδια ταχύτητα στον άξονα y (rb.velocity.y) αλλά με την ταχύτητα του '3' στον οριζόντιο άξονα. Καθώς προχωράτε, θα χρησιμοποιήσετε πιθανώς το "FixedUpdate ()" στο μέλλον.

Εκτός από αυτό και επιστρέψτε στην Ενότητα. Κάντε κλικ στο χαρακτήρα του παίκτη σας και, στη συνέχεια, στον επιθεωρητή επιλέξτε Add Component> Scripts και μετά το νέο σας σενάριο. Κάντε κλικ στο κουμπί αναπαραγωγή, και έκρηξη! Ο χαρακτήρας σας θα πρέπει τώρα να κινείται προς την άκρη της προεξοχής σαν λεμμίνγκ.

Σημείωση: Αν κάποια από αυτά ακούγεται συγκεχυμένη, απλά παρακολουθήστε το βίντεο για να δείτε ότι όλα γίνονται - θα βοηθήσει!

Πολύ βασική είσοδος παίκτη

Εάν θέλουμε να προσθέσουμε ένα χαρακτηριστικό άλμα, μπορούμε να το κάνουμε αυτό με ένα απλό κομμάτι κώδικα:

αν (Input.GetMouseButtonDown (0)) {rb.velocity = νέο Vector2 (rb.velocity.x, 5); }}

Αυτό πηγαίνει μέσα στη μέθοδο ενημέρωσης και λέει ότι 'αν ο παίκτης κάνει κλικ' τότε προσθέστε ταχύτητα στον άξονα y (με την τιμή 5). Όταν χρησιμοποιούμε εάν, οτιδήποτε ακολουθεί μέσα στις αγκύλες χρησιμοποιείται ως ένα είδος αληθούς ή ψευδούς εξέτασης. Εάν η λογική εντός των εν λόγω βραχιόνων είναι αληθής, τότε θα τρέξει ο κώδικας στις ακόλουθες στρογγυλές αγκύλες. Στην περίπτωση αυτή, αν ο παίκτης κάνει κλικ στο ποντίκι, προστίθεται η ταχύτητα.

Το Android διαβάζει το αριστερό κλικ του ποντικιού καθώς αγγίζει οπουδήποτε στην οθόνη! Έτσι, τώρα το παιχνίδι σας έχει βασικούς ελέγχους βρύσης.

Βρίσκοντας τη βάση σας

Αυτό είναι βασικά αρκετό για να κάνει έναν κλώνο Flappy Birds. Πετάξτε μερικά εμπόδια και μάθετε πώς να καταστρέψετε τον παίκτη όταν τα αγγίξει. Προσθέστε ένα σκορ πάνω από αυτό.

Εάν το καταφέρετε αυτό, καμία πρόκληση δεν θα είναι πολύ μεγάλη στο μέλλον

Αλλά έχουμε λίγο περισσότερο χρόνο, ώστε να μπορέσουμε να πάρουμε πιο φιλόδοξους και να κάνουμε ένα άπειρο παιχνίδι τύπων δρομέων αντ 'αυτού. Το μόνο λάθος με αυτό που έχουμε αυτή τη στιγμή είναι ότι το άλμα θα χτυπάει ακόμη και όταν ο παίκτης δεν αγγίζει το πάτωμα, έτσι μπορεί ουσιαστικά να πετάξει.

Η αποκατάσταση αυτή γίνεται λίγο πιο περίπλοκη, αλλά είναι περίπου τόσο σκληρή όσο η Ενότητα. Εάν το καταφέρετε αυτό, καμία πρόκληση δεν θα είναι πολύ μεγάλη στο μέλλον.

Προσθέστε τον ακόλουθο κώδικα στη δέσμη ενεργειών σας πάνω από τη μέθοδο Ενημέρωση ():

δημόσιος μετασχηματισμός groundCheck; δημόσιο μετασχηματισμό startPosition; δημόσιο πλωτό έδαφοςCheckRadius; public LayerMask whatIsGround; ιδιωτική bool onGround;

Προσθέστε αυτήν τη γραμμή στη μέθοδο ενημέρωσης πάνω από την εντολή if:

onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround);

Τέλος, αλλάξτε την ακόλουθη γραμμή έτσι ώστε να περιλαμβάνει && onGround:

αν (Input.GetMouseButtonDown (0) && onGround) {

Το όλο θέμα θα πρέπει να φαίνεται ως εξής:

δημόσια τάξη PlayerControls: MonoBehour {δημόσια Rigidbody2D rb; δημόσιος μετασχηματισμός groundCheck; δημόσιο μετασχηματισμό startPosition; δημόσιο πλωτό έδαφοςCheckRadius; public LayerMask whatIsGround; ιδιωτική bool onGround; άκυρη εκκίνηση () {rb = GetComponent(). } άκυρη Ενημέρωση () {rb.velocity = νέα Vector2 (3, rb.velocity.y); onGround = Physics2D.OverlapCircle (groundCheck.position, groundCheckRadius, whatIsGround); αν (Input.GetMouseButtonDown (0) && onGround) {rb.velocity = Νέο Vector2 (rb.velocity.x, 5); }}}

Αυτό που κάνουμε εδώ είναι να δημιουργήσουμε ένα νέο μετασχηματισμό - μια θέση στο διάστημα - τότε ρυθμίζουμε την ακτίνα του και ρωτάμε αν επικαλύπτεται ένα στρώμα που ονομάζεται έδαφος. Τότε αλλάζουμε την τιμή του Boolean (το οποίο μπορεί να είναι αληθινό ή ψευδές) ανάλογα με το αν συμβαίνει ή όχι.

Έτσι, το onGround είναι αληθές αν ο μετασχηματισμός που ονομάζεται groundCheck επικαλύπτει το έδαφος του στρώματος.

Εάν κάνετε κλικ στην επιλογή Αποθήκευση και μετά επιστρέψετε στην ενότητα Unity, πρέπει τώρα να δείτε ότι έχετε περισσότερες επιλογές διαθέσιμες στον επιθεωρητή σας όταν επιλέγετε τη συσκευή αναπαραγωγής. Αυτές οι δημόσιες μεταβλητές μπορούν να φανούν μέσα από την ίδια την Ενότητα και αυτό σημαίνει ότι μπορούμε να τις ορίσουμε, ωστόσο, μας αρέσει.

Κάντε δεξί κλικ στην ιεραρχία στα αριστερά για να δημιουργήσετε ένα νέο κενό αντικείμενο και, στη συνέχεια, σύρετέ το έτσι ώστε να βρίσκεται ακριβώς κάτω από τη συσκευή αναπαραγωγής στο παράθυρο σκηνής όπου θέλετε να εντοπίσετε το πάτωμα. Μετονομάστε το αντικείμενο 'Ελέγξτε το έδαφος' και, στη συνέχεια, κάντε το παιδί του παίκτη ακριβώς όπως κάνατε με την κάμερα. Τώρα θα πρέπει να ακολουθήσει τον παίκτη, ελέγχοντας το δάπεδο από κάτω όπως συμβαίνει.

Επιλέξτε ξανά τη συσκευή αναπαραγωγής και, στον επιθεωρητή, σύρετε το νέο αντικείμενο Check Ground στο χώρο όπου λέγεται 'groundCheck'. Το 'μετασχηματισμό' (θέση) τώρα θα είναι ίσο με τη θέση του νέου αντικειμένου. Ενώ βρίσκεστε εδώ, εισάγετε 0,1 όπου δηλώνει ακτίνα.

Τέλος, πρέπει να καθορίσουμε το επίπεδο εδάφους μας. Για να το κάνετε αυτό, επιλέξτε το έδαφος που δημιουργήσατε νωρίτερα και, στη συνέχεια, πάνω επάνω δεξιά στον επιθεωρητή, βρείτε το σημείο όπου λέει 'Layer: Default'. Κάντε κλικ σε αυτό το αναπτυσσόμενο πλαίσιο και επιλέξτε "Προσθήκη επιπέδου".

Τώρα κάντε κλικ πίσω και αυτή τη φορά επιλέξτε 'έδαφος' ως το επίπεδο για την πλατφόρμα σας (επαναλάβετε αυτό για όλες τις άλλες πλατφόρμες που έχετε επιπλέει γύρω). Τέλος, όπου λέει "Τι είναι το έδαφος" στη συσκευή σας, επιλέξτε επίσης το στρώμα εδάφους.

Τώρα λέτε τη δέσμη ενεργειών του παίκτη σας για να ελέγξετε αν το μικρό σημείο στην οθόνη επικαλύπτει κάτι που ταιριάζει με αυτό το επίπεδο. Χάρη σε αυτή τη γραμμή που προσθέσαμε νωρίτερα, ο χαρακτήρας θα πηδήσει μόνο όταν αυτό συμβαίνει.

Και με αυτό, αν χτυπήσει το παιχνίδι, μπορείτε να απολαύσετε ένα αρκετά βασικό παιχνίδι που απαιτεί να κάνετε κλικ για να πηδήσετε την κατάλληλη στιγμή.

Με αυτό, αν χτυπήσει το παιχνίδι μπορείτε να απολαύσετε ένα αρκετά βασικό παιχνίδι που απαιτεί να κάνετε κλικ για να πηδήσετε την κατάλληλη στιγμή. Εάν ρυθμίσετε σωστά τη μονάδα σας με το Android SDK, θα πρέπει να μπορείτε να δημιουργήσετε και να εκτελέσετε αυτό το πρόγραμμα και, στη συνέχεια, να αναπαραγάγετε το smartphone σας πατώντας στην οθόνη για να μεταβείτε.

Ο δρόμος μπροστά

Προφανώς υπάρχουν πολλά άλλα που πρέπει να προσθέσετε για να κάνετε αυτό το πλήρες παιχνίδι. Ο παίκτης θα πρέπει να μπορεί να πεθάνει και να αναπνέει. Θα θέλαμε να προσθέσουμε επιπλέον επίπεδα και πολλά άλλα.

Ο στόχος μου εδώ ήταν να σας δείξω πόσο γρήγορα μπορείτε να πάρετε κάτι βασικό και λειτουργικό. Ακολουθώντας αυτές τις οδηγίες, θα πρέπει να έχετε καταφέρει να φτιάξετε τον άπειρο δρομέα σας σε χρόνο μηδέν απλά αφήνοντας την Unity να χειριστεί τα σκληρά πράγματα, όπως η φυσική.

Αν ξέρετε τι θέλετε να δημιουργήσετε και να κάνετε την έρευνά σας, δεν χρειάζεται να είστε οδηγός κωδικοποίησης για να δημιουργήσετε ένα αξιοπρεπές παιχνίδι!

Σε αυτόν τον οδηγό βήμα προς βήμα, θα σας δείξουμε πώς να συνδέσετε ένα φορητό υπολογιστή με μια τηλεόραση, ώστε να μπορείτε να παρακολουθήσετε το Netflix, τις φωτογραφίες των διακοπών σας και άλλο πε...

Το Facebook είναι ο μεγαλύτερος ιστότοπος κοινωνικών μέσων στον κόσμο. Οι άνθρωποι βρίσκονται σε αυτό όλη την ώρα και ανεβάζουν έναν μετρικό τόνο φωτογραφιών. Εκατοντάδες εκατομμύρια φωτογραφίες ανεβ...

Ενδιαφέρον Σήμερα