Κατεβάστε την εφαρμογή unity 3d για android. Χρήση του Unity για την ανάπτυξη εφαρμογών. Πώς να δημιουργήσετε παιχνίδια στο Unity

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

Προετοιμασία του Περιβάλλοντος Ανάπτυξης Android

Για να μπορέσετε να δοκιμάσετε τα παιχνίδια σας στη συσκευή, θα πρέπει να προετοιμάσετε το περιβάλλον ανάπτυξης. Συγκεκριμένα, κατεβάστε και εγκαταστήστε το Android SDK της επιθυμητής πλατφόρμας και προσθέστε τη συσκευή σας στο σύστημα (αυτή η διαδικασία είναι διαφορετική για Windows και Mac). Αυτό είναι γραμμένο λεπτομερώς στον ιστότοπο προγραμματιστών Android και ενδέχεται να παρέχονται πρόσθετες πληροφορίες από τον κατασκευαστή της συσκευής σας. Δεδομένου ότι αυτή είναι μια αρκετά περίπλοκη διαδικασία, έχουμε ετοιμάσει μια μικρή οδηγία που θα σας βοηθήσει να προετοιμάσετε όλα όσα χρειάζεστε για ανάπτυξη. Εάν χρειάζεστε περισσότερες πληροφορίες, μπορείτε να τις λάβετε από την πύλη προγραμματιστών Android.

Πρόσβαση σε λειτουργίες Android

Το Unity παρέχει ένα API για πρόσβαση στην είσοδο και τις ρυθμίσεις Android. Οι διαθέσιμες τάξεις τεκμηριώνονται στη σελίδα Συναρμολογήσεις Code for Android.

Σύνδεση κώδικα C, C++ ή Java με σενάρια

Το Unity σάς επιτρέπει να καλείτε συναρτήσεις γραμμένες σε C/C++ απευθείας από σενάρια (οι συναρτήσεις Java μπορούν να κληθούν έμμεσα). Για να μάθετε πώς να αποκτάτε πρόσβαση σε λειτουργίες από τον εγγενή κώδικα από το Unity, επισκεφτείτε τη σελίδα δημιουργίας προσθηκών Android.

Απόφραξη (απόσπαση αόρατης γεωμετρίας)

Το Unity παρέχει υποστήριξη για σφαγή απόφραξης, η οποία είναι πολύ χρήσιμη κατά τη βελτιστοποίηση για κινητές πλατφόρμες. Περισσότερες πληροφορίες μπορείτε να βρείτε στη σελίδα Σφαγή απόφραξης.

Προσαρμογή της οθόνης εκκίνησης

Η οθόνη εκκίνησης που εμφανίζεται όταν ξεκινά το παιχνίδι μπορεί να προσαρμοστεί - δείτε αυτήν τη σελίδα για περισσότερες πληροφορίες.

Αντιμετώπιση προβλημάτων και αναφορά σφαλμάτων

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

Πώς διαφέρει το Unity για Android από την έκδοση για υπολογιστές

JavaScript με δυνατή πληκτρολόγηση

Για να βελτιωθεί η απόδοση στην έκδοση Android του Unity, η δυναμική πληκτρολόγηση σε JavaScript είναι πάντα απενεργοποιημένη (σαν να εφαρμόστηκε αυτόματα το #pragma strict σε κάθε σενάριο). Αυτό είναι σημαντικό να θυμάστε εάν μεταφέρετε ένα έργο στο Android από παλαιότερες πλατφόρμες και εάν αντιμετωπίσετε σφάλματα μεταγλώττισης, το πρόβλημα θα πρέπει να αναζητηθεί πρώτα από όλα στην πληκτρολόγηση. Τέτοια σφάλματα είναι συνήθως εύκολο να αντιμετωπιστούν διασφαλίζοντας ότι οι τύποι όλων των μεταβλητών καθορίζονται ρητά ή μεταφέρονται κατά την προετοιμασία.

Ενώ το Unity Android υποστηρίζει υφές DXT/PVRTC/ATC, το Unity θα αποσυμπιέσει τις υφές σε μορφή RGB(A) κατά το χρόνο εκτέλεσης, εάν αυτές οι μέθοδοι συμπίεσης δεν υποστηρίζονται στη συγκεκριμένη συσκευή. Αυτό μπορεί να επηρεάσει σοβαρά την απόδοση απόδοσης GPU, επομένως συνιστάται η χρήση της μορφής ETC. Είναι το de facto πρότυπο για Android και θα πρέπει να υποστηρίζεται από όλες τις σύγχρονες συσκευές. Από την άλλη πλευρά, το ETC δεν υποστηρίζει κανάλι άλφα και μερικές φορές οι υφές RGBA 16-bit θα είναι η καλύτερη επιλογή όσον αφορά την ποιότητα, το μέγεθος και την ταχύτητα απόδοσης όπου απαιτείται κανάλι άλφα.

Προβολές ανάρτησης: 19 374

Μιλήσαμε για το πώς μπορείτε να δημιουργήσετε το δικό σας παιχνίδι στο Android χρησιμοποιώντας το Unreal Engine. Σε αυτό το άρθρο, θα δούμε μια άλλη εξίσου δημοφιλή μηχανή ανάπτυξης παιχνιδιών - ενότητα.

Το Unity είναι ένας πολύ διάσημος κινητήρας μεταξύ των indie προγραμματιστών. Στην πραγματικότητα, είναι ένας κινητήρας cross-platform που σας επιτρέπει να εξελίσσεστε 3D- και 2D-Παιχνίδια. Το χαρακτηριστικό που ξεχωρίζει το Unity από άλλους κινητήρες είναι το χαμηλό όριο εισόδου για αρχάριους, ενώ διαθέτει ένα πλούσιο κιτ εργαλείων για επαγγελματίες. Το cross-platform σάς επιτρέπει να αναπτύσσετε εφαρμογές για οποιαδήποτε πλατφόρμα, από παιχνίδια για επιτραπέζιους υπολογιστές έως παιχνίδια για κινητά.

Ξεχωριστά, αξίζει να αναφέρουμε το συνδρομητικό σύστημα, αφού το Unity δεν είναι ένα εντελώς δωρεάν προϊόν. Υπάρχουν διάφοροι τύποι συνδρομών:

  • Προσωπικός. Δωρεάν έκδοση που περιέχει όλα τα κύρια χαρακτηριστικά του κινητήρα. Έχει τον ακόλουθο περιορισμό: το εισόδημα ανά έτος ή το ποσό των κεφαλαίων που συγκεντρώνονται δεν πρέπει να υπερβαίνει 100000$ .
  • Συν. Ανά $35 το μήναπαρέχονται διάφορες αναφορές και αναλυτικά στοιχεία, καθώς και η δυνατότητα αλλαγής της οθόνης εκκίνησης, 20% -η έκπτωση σε αγορές σε Κατάστημα περιουσιακών στοιχείωνκαι διάφορα δευτερεύοντα οφέλη. Έχει τον ακόλουθο περιορισμό: το εισόδημα για το έτος ή το ποσό των κεφαλαίων που συγκεντρώθηκαν δεν πρέπει να υπερβαίνει 200000$ .
  • Pro. Ανά $125 το μήναπεριλαμβάνει όλα τα πλεονεκτήματα της έκδοσης Συνκαι επιπλέον επαγγελματική εξυπηρέτηση και premium υποστήριξη. Δεν υπάρχουν περιορισμοί στον κύκλο εργασιών ή στο ύψος των κεφαλαίων.
  • Ξεχωριστές εκδόσεις για επιχειρήσεις (που χρησιμοποιούνται από μεγάλες εταιρείες).

Έτσι, οι indie προγραμματιστές με μικρούς προϋπολογισμούς θα πρέπει να είναι ικανοποιημένοι με την έκδοση Προσωπικόςή Συνδιαφορετικά θα πρέπει να εγγραφείτε Pro. Σε αυτό το άρθρο, θα χρησιμοποιήσουμε δωρεάν έκδοσηγια το πρώτο τρέξιμο.

Βήμα 1 Εγκαταστήστε το Unity

Για να ξεκινήσετε την εγκατάσταση του Unity, πρέπει να μεταβείτε στον ιστότοπο του Unity Store, όπου θα σας ζητηθεί να επιλέξετε τον τύπο της συνδρομής. Όπως αναφέρθηκε παραπάνω, επιλέγουμε Προσωπικός.

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

Μετά την εκκίνηση του προγράμματος εγκατάστασης, θα σας ζητηθεί να επιλέξετε ποια στοιχεία θα εγκαταστήσετε. Εφόσον πρέπει να δημιουργήσουμε μια εφαρμογή Android, θα τσεκάρουμε το πλαίσιο για Υποστήριξη Android Build. Επίσης, αν θέλετε, αντί με Unity, μπορείτε να εγκαταστήσετε Visual Studio Community 2017για προγραμματισμό σε ΝΤΟ#.

Μετά από αυτό, το μόνο που μένει είναι να επιλέξετε τη διαδρομή εγκατάστασης και να ξεκινήσετε την εγκατάσταση του Unity.

Βήμα 2: Εγγραφή και ρύθμιση του Unity

Μετά την ολοκλήρωση της εγκατάστασης και την εκτέλεση του Unity, μας ζητείται να συνδεθούμε με τον λογαριασμό μας.

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

Στο τέλος, προτείνεται να κάνετε μια μικρή έρευνα στην οποία πρέπει να απαντήσετε τι κάνετε και για ποιο σκοπό εγκαθιστάτε το Unity.

Βήμα 3. Δημιουργήστε ένα νέο έργο

Έχοντας διαμορφώσει το Unity, φτάνουμε στην οθόνη επιλογής / δημιουργίας έργου. Κάντε κλικ ΕΔΩ Νέοςγια να δημιουργήσετε το δικό σας νέο έργο.

Μετά από αυτό, στο παράθυρο που εμφανίζεται, σας ζητείται να εισαγάγετε το όνομα του έργου και τον κατάλογο όπου θα βρίσκεται. Επίσης, μην ξεχάσετε να επιλέξετε το πλαίσιο 3Dγια να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας σε λειτουργία 3D.

Όταν τελειώσετε με αυτό, κάντε κλικ Δημιουργία έργουγια τη δημιουργία ενός έργου. Μετά από αυτό, θα ανοίξει ένα παράθυρο επεξεργασίας με μια προ-δημιουργημένη σκηνή.

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

Για να ανοίξετε το Asset Store, χρειάζεστε στο μενού Παράθυροεπιλέγω Κατάστημα περιουσιακών στοιχείων(συνδυασμός κλειδιών ctrl-9).

Θα ανοίξει η βιτρίνα του καταστήματος. Εισαγάγετε στη γραμμή αναζήτησης " Παράδειγμα παιχνιδιού στυλ flappy bird" και ανοίξτε ένα δωρεάν παράδειγμα που θα χρησιμοποιήσουμε στο έργο μας.

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

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

Μόλις ολοκληρωθεί η εισαγωγή, θα δείτε τα νέα αρχεία στο Project Browser. Αυτά είναι τα αρχεία του παιχνιδιού. Για να ανοίξετε τη σκηνή στο πρόγραμμα επεξεργασίας, αναπτύξτε το Στυλ Flappy Bird - σκηνέςκαι κάντε διπλό κλικ Κύριος.

Ως αποτέλεσμα, η σκηνή του παιχνιδιού θα εμφανιστεί στο παράθυρο του 3D editor.

Μπορείτε να ελέγξετε πώς λειτουργεί το παιχνίδι απευθείας στο Unity κάνοντας κλικ στο κουμπί παίζωπάνω από το παράθυρο του επεξεργαστή.

Βήμα 4 Διαμορφώστε τα Εργαλεία Android

Σημείωση:εάν χρησιμοποιείτε android studio, τότε έχετε ήδη εγκαταστήσει τα πάντα απαραίτητα εξαρτήματακαι έτσι μπορείτε να προχωρήσετε με ασφάλεια στο επόμενο βήμα.

Για να συναρμολογήσετε το παιχνίδι που προκύπτει στο Android, πρέπει να εγκαταστήσετε τα ακόλουθα εργαλεία:

  • Java Development Kit (JDK).Μπορείτε να το κατεβάσετε από τον ιστότοπο Java. Κάνοντας κλικ στον σύνδεσμο, θα δείτε στην κορυφή Java Platform (JDK), κάντε κλικ στο Κατεβάστεδίπλα στην επιγραφή, επιλέξτε το λειτουργικό σας σύστημα και ξεκινήστε τη λήψη. Μετά από αυτό, απλώς ακολουθήστε τις οδηγίες του προγράμματος εγκατάστασης.
  • Android SDK. κατά τα περισσότερα με απλό τρόπογια να εγκαταστήσετε την πιο πρόσφατη έκδοση είναι να κάνετε λήψη του Android Studio με το οποίο παρέχεται αυτό το SDK. Για να το κάνετε αυτό, μεταβείτε στον ιστότοπο του Android Studio και κάντε κλικ Κατεβάστε το Android Studio. Το πρόγραμμα εγκατάστασης του Android Studio εγκαθιστά τα βασικά στοιχεία του Android SDK που απαιτούνται για την ανάπτυξη Android.

Βήμα 5. Προετοιμάστε το έργο για έναρξη

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

Στο παράθυρο που εμφανίζεται, επιλέξτε Androidκαι μετά πατήστε πλατφόρμα διακόπτη.

Ο διακόπτης πλατφόρμας μας λέει ότι θα δημιουργήσουμε μια εφαρμογή Android. Αυτό σημαίνει ότι όταν χτίζουμε την εφαρμογή, το Unity θα δημιουργήσει αρχείο APK. Ο διακόπτης πλατφόρμας αναγκάζει επίσης τη Unity να επανεισαγάγει όλα τα στοιχεία του έργου. Αυτό δεν θα διαρκέσει πολύ σε ένα μικρό έργο, αλλά έχετε κατά νου ότι αυτή η λειτουργία μπορεί να διαρκέσει πολύ σε μεγάλα έργα.

Τώρα πρέπει να δώσουμε ένα όνομα πακέτου για την εφαρμογή.

Σημείωση:Το όνομα πακέτου είναι ένα μοναδικό αναγνωριστικό για την εφαρμογή και είναι γραμμένο με αντίστροφο στυλ DNS στη μορφή com.CompanyName.ProductName. Μόλις δημοσιευτεί η εφαρμογή στο Google Play, το όνομα του πακέτου δεν μπορεί πλέον να αλλάξει.

Για να το κάνετε αυτό, μεταβείτε στο μενού Επεξεργασίακαι επιλέξτε Ρυθμίσεις έργου - Πρόγραμμα αναπαραγωγής.

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

Τώρα απομένει μόνο να καθορίσετε τη διαδρομή προς το Android SDK και JDK. Για να το κάνετε αυτό, μεταβείτε στο μενού και επιλέξτε Επεξεργασία-Προτιμήσεις.

Στο παράθυρο που εμφανίζεται, μεταβείτε στο Εξωτερικά εργαλείακαι στα χωράφια SDKκαι JDKκαθορίστε τις κατάλληλες διαδρομές και, στη συνέχεια, κλείστε το παράθυρο.

Βήμα 6: Δημιουργία και εκτέλεση της εφαρμογής

Ήρθε η ώρα να δημιουργήσετε την πρώτη σας εφαρμογή Unity. Για να το κάνετε αυτό, επιλέξτε από το μενού Αρχείο - Ρυθμίσεις κατασκευής. Θα ανοίξει ένα παράθυρο, στο οποίο θα πρέπει να προσθέσετε τη σκηνή που θέλετε να συναρμολογήσετε. Επειδή έχουμε ήδη ανοιχτή αυτή τη σκηνή στο πρόγραμμα επεξεργασίας, απλώς κάντε κλικ Προσθήκη Ανοιχτών Σκηνώνγια να το προσθέσετε στη συναρμολόγηση, αφού το προσθέσετε θα το δείτε στη λίστα με τις σκηνές.

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

Σημείωση:αυτή τη στιγμή, εάν έχετε εγκατεστημένη την έκδοση alpha στο Android SDK Κατασκευή-Εργαλεία(εκδοχή 28.0.0-rc1), κατά την κατασκευή του Gradle θα δώσει ένα σφάλμα. Για να το διορθώσετε, απλώς καταργήστε αυτήν την έκδοση από το Android SDK.

Ως αποτέλεσμα, το ενσωματωμένο αρχείο APK θα εμφανιστεί στον φάκελο που ορίσατε, έτοιμο να εγκατασταθεί στον εξομοιωτή ή σε μια πραγματική συσκευή.

Ας δούμε τι υπάρχει μέσα στο ενσωματωμένο APK. Για να το κάνουμε αυτό, χρησιμοποιούμε το βοηθητικό πρόγραμμα Αναλυτής APK, το οποίο περιλαμβάνεται στο Android Studio,

Το μέγεθος του ασυμπίεστου αρχείου APK είναι 21,1 MB, σε συμπιεσμένο 20,9 MB. Όπως μπορείτε να δείτε από το γράφημα, το μεγαλύτερο μέρος του τόμου καταλαμβάνεται από βιβλιοθήκες τρίτων που προστέθηκαν από το Unity. Μετά μέσα περιουσιακά στοιχείαβρίσκονται όλοι οι πόροι που χρησιμοποιούνται στη συναρμολογημένη σκηνή. Αρχείο τάξεις.dexπεριέχει μόνο 89 τάξεις και 479 μεθόδους.

Επιπλέον, αν κοιτάξετε AndroidManifest.xml, η εφαρμογή αποτελείται από μία δραστηριότητα.

συμπέρασμα

Αυτό είναι όλο. Σε αυτό το άρθρο, μάθαμε πώς να εγκαταστήσουμε και να ρυθμίσουμε το Unity, καθώς και να δημιουργήσουμε την πρώτη μας εφαρμογή Android.

Το Unity είναι ο κινητήρας στον οποίο τα περισσότερα από σύγχρονα παιχνίδιασε διαφορετικές πλατφόρμες. Μέσω του κινητήρα, είναι πραγματικά δυνατό να δημιουργηθούν παιχνίδια που είναι προσανατολισμένα να εκτελούνται σε υπολογιστές (Windows, Linux, MacOS), κινητά τηλέφωνα, υπολογιστές tablet (Android, iOS) και ακόμη κονσόλες παιχνιδιών PlayStation, Xbox, Nintendo.

Πώς να δημιουργήσετε παιχνίδια στο Unity;

Η ενότητα βασίζεται σε μια έννοια προσανατολισμένη στα συστατικά στοιχεία. Στην πραγματικότητα, κάθε παιχνίδι αποτελείται από μια μάζα αντικειμένων αραιωμένα με πρόσθετα συστατικά. Για παράδειγμα, κατά τη δημιουργία ενός platformer, δημιουργούμε ένα GameObject, επισυνάπτουμε επιπλέον ένα στοιχείο γραφικών, το οποίο είναι υπεύθυνο για την εμφάνιση του χαρακτήρα και ένα στοιχείο ελέγχου, παρέχει έλεγχο του χαρακτήρα χρησιμοποιώντας ποντίκι, πληκτρολόγιο, joystick ή οθόνη αφής. Ο κινητήρας δεν επιβάλλει περιορισμούς στον αριθμό τέτοιων μονάδων. Μπορούμε να προσθέσουμε όσα στοιχεία χρειάζεται στο GameObject. Όλες οι εργασίες στον κινητήρα βασίζονται στην ίδια τη δημιουργία του GameObject και την εφαρμογή κατάλληλων εξαρτημάτων σε αυτά.

Οι αρχάριοι μπορεί να παραπλανηθούν από την φαινομενική απλότητα της διαδικασίας, αν και αυτό δεν συμβαίνει. Για να δημιουργήσετε ένα μοναδικό και δημοφιλές παιχνίδι, πρέπει να γράψετε πολλά στοιχεία από την αρχή. Πιο συγκεκριμένα, στο περιβάλλον Unity, αυτό ονομάζεται σενάριο. Η εγγενής γλώσσα δέσμης ενεργειών είναι η C#, αλλά η JavaScript και η Boo (μια περικομμένη έκδοση της Python) χρησιμοποιούνται επίσης εν μέρει. Η δημιουργία των δικών σας στοιχείων δεν είναι εύκολη, θα μπορούσε να πει κανείς ότι είναι μια πολύπλοκη διαδικασία, άμεσα συνδεδεμένη με τον κλασικό προγραμματισμό. Χωρίς επαρκές επίπεδο γνώσεων στον προγραμματισμό, θα είναι δύσκολο.

Υποστηριζόμενες πλατφόρμες

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

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

Το ίδιο ισχύει και για το iOS. Ένα άλλο χαρακτηριστικό του iOS είναι ότι είναι δυνατή η ανάπτυξη για αυτό μόνο από υπολογιστή ή tablet της Apple. Ελλείψει Macbook ή παρόμοιας συσκευής, η κυκλοφορία του παιχνιδιού θα σταματήσει γρήγορα και το Unity δεν έχει καμία σχέση με αυτό, η ίδια η Apple επιβάλλει έναν παρόμοιο περιορισμό. Το συμπέρασμα είναι απλό: εάν υπάρχει ανάπτυξη iOS στα σχέδια, θα πρέπει να επιλέξετε μια κατάλληλη συσκευή για συναρμολόγηση εκ των προτέρων.

Πώς και πού να αναπτύξετε ένα παιχνίδι στον κινητήρα;

Μπορούμε να πραγματοποιήσουμε μια μακρά διαδικασία ανάπτυξης παιχνιδιών τόσο σε Windows όσο και σε Mac OS X. Υπάρχουν ήδη εκδόσεις του editor για Linux, αλλά μέχρι στιγμής δεν μπορούμε να υπολογίζουμε στη σταθερή λειτουργία τους. Ένας προγραμματιστής ξοδεύει τον περισσότερο χρόνο δημιουργώντας ένα παιχνίδι μέσα στο πρόγραμμα επεξεργασίας Unity. Έχουμε ακόμα πολύ χρόνο για να γράψουμε κώδικα σεναρίου, μπορούμε να τον δημιουργήσουμε είτε στο τυπικό MonoDevelop είτε σε οποιοδήποτε πρόγραμμα επεξεργασίας τρίτου κατασκευαστή. Τώρα χρησιμοποιούν ενεργά το Visual Studio, καθώς και το Sublime Text, αλλά μόνο με τις κατάλληλες ρυθμίσεις.

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

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

  1. Μοντέλα αντικειμένων;
  2. Λειτουργικές προδιαγραφές;
  3. Περιεχόμενο παιχνιδιού.
  4. Διεπαφή.

Ας εξετάσουμε κάθε ένα από τα σημεία με περισσότερες λεπτομέρειες.

Μοντέλα αντικειμένων

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

Λειτουργικές προδιαγραφές

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

Περιεχόμενο παιχνιδιού

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

Διεπαφή

Η διεπαφή είναι ο τρόπος με τον οποίο ο χρήστης θα αλληλεπιδράσει με το παιχνίδι. Περιλαμβάνει κουμπιά με τα οποία μπορείτε να ελέγξετε τον χαρακτήρα και ενότητες μενού: για παράδειγμα, παιχνίδι, σκορ, ρυθμίσεις, κορυφαίοι παίκτες, βοήθεια. Εάν δεν έχετε εμπειρία στη δημιουργία εφαρμογών Android, πριν δημιουργήσετε τις δικές σας, κάντε λήψη από το Play Market και αναλύστε δημοφιλή παιχνίδιακαι μεταφέρετε τις καλύτερες λύσεις στο έργο σας.

Μηχανή παιχνιδιού

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

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

UDK

Ροπή 2d/3d

Τι είναι ένας σχεδιαστής παιχνιδιών;

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

Ο κατασκευαστής σάς επιτρέπει να δημιουργείτε παιχνίδια διαφόρων ειδών για Windows, Android και iOS. Προσφορές μεγάλη επιλογήέτοιμες τοποθεσίες, αντικείμενα, χαρακτήρες και σχεδιασμός ήχου, οπότε η δημιουργία του πρώτου παιχνιδιού Android δεν θα πάρει πολύ χρόνο. Οι χρήστες που είναι εξοικειωμένοι με τις γλώσσες προγραμματισμού JS και C++ μπορούν να χρησιμοποιήσουν την ενσωματωμένη GML. Το μόνο μειονέκτημα είναι ότι το πρόγραμμα δεν μεταφράζεται στα ρωσικά.

συμπέρασμα

Η δημιουργία ενός παιχνιδιού Android δεν είναι μια εύκολη, αλλά πολύ κερδοφόρα επιχείρηση. Εάν αποφασίσετε να αναπτύξετε ένα παιχνίδι και να κερδίσετε χρήματα από αυτό, επεξεργαστείτε πρώτα την ιδέα. Στη συνέχεια, γράψτε ένα «έγγραφο σχεδίασης» και αποφασίστε για μια μηχανή παιχνιδιών που μπορεί να μεγιστοποιήσει τις δυνατότητές της. Μετά από αυτό, μπορείτε να προχωρήσετε απευθείας στη δημιουργία της εφαρμογής στον κατασκευαστή.

βίντεο

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

Πώς να γράψετε γρήγορα ένα παιχνίδι Android με το Unity

Προς το παρόν, ο καθένας μπορεί να γίνει επιτυχημένος προγραμματιστής παιχνιδιών ή εφαρμογών για κινητά χωρίς να κάνει τιτάνια προσπάθεια. Ένα παράδειγμα τέτοιας περίπτωσης είναι ο Dong Nguyen, ο οποίος ανέπτυξε το Flappy Bird. Το παιχνίδι δεν είχε σύνθετους μηχανισμούς ή γραφικά, αλλά αυτό δεν το εμπόδισε να γίνει δημοφιλές και να αποφέρει στον δημιουργό του πενήντα χιλιάδες δολάρια την ημέρα. Ωστόσο, δεν υπήρχε τίποτα το αξιοσημείωτο στο παιχνίδι. Το μόνο που χρειαζόταν για να πετύχει ήταν να βρεθείς στο σωστό μέρος την κατάλληλη στιγμή και λίγη τύχη. Παρόμοια πράγματα μπορούν να συμβούν και σήμερα, απλά χρειάζεστε τη σωστή ιδέα.

Για να δείξουμε πόσο εύκολο είναι να γράψουμε κάτι τέτοιο, σήμερα θα γράψουμε το δικό μας Flappy Bird χρησιμοποιώντας το Unity σε μόλις 10 λεπτά.

χαρακτήρα του παιχνιδιού

Πρώτα δημιουργήστε ένα νέο έργο και βεβαιωθείτε ότι είναι επιλεγμένη η επιλογή 2D.

Φορτώστε το bird sprite σας στη σκηνή. Μην ξεχάσετε να ενεργοποιήσετε τη φαντασία σας!

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

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

Επιλέξτε το πουλί ξανά στη σκηνή ή στο παράθυρο ιεραρχίας. Θα δείτε μια λίστα επιλογών και χαρακτηριστικών στα δεξιά σε ένα παράθυρο που ονομάζεται Inspector . Εδώ μπορείτε να διαχειριστείτε διάφορες μεταβλητές συνδεδεμένες σε ένα συγκεκριμένο αντικείμενο.

Τώρα κάντε κλικ στο Προσθήκη στοιχείου. Επιλέξτε Physics2D > Rigidbody2D - αυτό είναι έτοιμο σετοδηγίες για την εφαρμογή της βαρύτητας στον χαρακτήρα μας. Κάντε κλικ στο Constraints σε αυτόν τον πίνακα και, στη συνέχεια, επιλέξτε το Freeze rotation Z. Αυτό θα εμποδίσει το πουλί να περιστρέφεται γύρω από την κάμερα.

Με τον ίδιο τρόπο, προσθέστε ένα Polygon Collider που λέει στο Unity πού βρίσκονται τα όρια του χαρακτήρα. Πατήστε Play και δείτε πώς το sprite, μαζί με την κάμερα, πέφτουν ατελείωτα κάτω.

Μέχρι στιγμής όλα πάνε καλά!

Τώρα ήρθε η ώρα να αρχίσετε να πετάτε τον χαρακτήρα, αφού δεν θα είναι δύσκολο.

Πρώτα πρέπει να δημιουργήσετε ένα σενάριο C#. Δημιουργήστε έναν φάκελο για αυτό (δεξί κλικ κάπου στα στοιχεία και δημιουργήστε έναν φάκελο "Σενάρια"), κάντε δεξί κλικ και επιλέξτε Δημιουργία > Σενάριο C# .

Ας το πούμε «Χαρακτήρας». Κάντε διπλό κλικ πάνω του για να το ανοίξετε στο IDE σας, είτε είναι MonoDevelop είτε Visual Studio. Στη συνέχεια, προσθέστε τον ακόλουθο κώδικα:

Χαρακτήρας δημόσιας κλάσης: MonoBehaviour ( public Rigidbody2D rb; public float moveSpeed; public float flapHeight; // Αυτό είναι για αρχικοποίηση void Start () ( rb = GetComponent(); ) // Η ενημέρωση καλείται μία φορά ανά καρέ void Update () ( rb .velocity = νέο Vector2(moveSpeed, rb.velocity.y); if (Input.GetMouseButtonDown(0)) ( rb.velocity = νέο Vector2(rb.velocity.x, flapHeight); ) if (transform.position.y > 18 || μετασχηματισμός.θέση.υ< -19) { Death(); } } public void Death() { rb.velocity = Vector3.zero; transform.position = new Vector2(0, 0); } }

Αυτός ο κώδικας κάνει δύο πράγματα. Κάνει τον χαρακτήρα να κινείται προς τα εμπρός με ταχύτητα που ορίζουμε στον επιθεωρητή και δίνει την εντύπωση ενός πουλιού σε πτήση. Η μέθοδος Update() καλείται επανειλημμένα σε όλο το παιχνίδι, οπότε οτιδήποτε βάλετε εδώ θα εκτελείται συνεχώς. Σε αυτή την περίπτωση, προσθέτουμε κάποια ταχύτητα στο αντικείμενο μας. Η μεταβλητή rb είναι το σενάριο RigidBody2D που εφαρμόσαμε στο αντικείμενό μας νωρίτερα, οπότε όταν γράφουμε rb.velocity αναφερόμαστε στην ταχύτητα του αντικειμένου.

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

Η μεταβλητή moveSpeed ​​θα είναι υπεύθυνη για την ταχύτητα κίνησης και η μεταβλητή flapHeight - για την αύξηση του ύψους της πτήσης του πουλιού μετά από κάθε κλικ. Επειδή αυτές οι μεταβλητές είναι δημόσιες , μπορούμε να τις αλλάξουμε εκτός του σεναρίου.

Η μέθοδος Death() δηλώνεται επίσης δημόσια, πράγμα που σημαίνει ότι άλλα αντικείμενα και σενάρια μπορούν να την καλέσουν. Αυτή η μέθοδος απλώς επιστρέφει τη θέση του χαρακτήρα στην αρχή. Θα χρησιμοποιείται επίσης κάθε φορά που ο χαρακτήρας πετάει πολύ ψηλά ή χαμηλά. Θα καταλάβετε σύντομα γιατί δηλώνεται ως δημόσιο . Η γραμμή rb.velocity = Vector3.zero; χρειάζεται για να αφαιρεθεί η ορμή - δεν θέλουμε ο χαρακτήρας να πέφτει όλο και πιο γρήγορα μετά από κάθε θάνατο, σωστά;

Τώρα μπορείτε να βγείτε από το IDE και να προσθέσετε το σενάριο ως στοιχείο στον χαρακτήρα. Για να το κάνετε αυτό, επιλέξτε το πουλί μας και κάντε κλικ στην επιλογή Προσθήκη στοιχείου > Σενάρια > Χαρακτήρας . Τώρα μπορούμε να ορίσουμε το moveSpeed ​​και το flapHeight στον επιθεωρητή (για αυτό χρησιμεύουν οι δημόσιες μεταβλητές). Αναθέτω μεταβλητές τιμές 3 και 5, αντίστοιχα.

Και κάτι ακόμα: στον επιθεωρητή, πρέπει να προσθέσετε μια ετικέτα στον χαρακτήρα. Για να το κάνετε αυτό, κάντε κλικ εκεί που λέει Tag: Untagged και, στη συνέχεια, επιλέξτε Player από την αναπτυσσόμενη λίστα.

Εμπόδια

Τώρα ας προσθέσουμε εμπόδια: σωλήνες. Κάποιος βρίσκει μανιτάρια στους σωλήνες και κάποιος βρίσκει τον δικό του θάνατο.

Σύρετε το σωλήνα sprite στη σκηνή στο σημείο που θέλετε να είναι το πρώτο εμπόδιο και ονομάστε το pipe_up.
Τώρα ας δημιουργήσουμε ένα νέο σενάριο που ονομάζεται Pipe:

Δημόσια κλάση Pipe: MonoBehaviour ( ιδιωτικός χαρακτήρας χαρακτήρων; // Απαιτείται για αρχικοποίηση void Start () ( character = FindObjectOfType(); ) // Η ενημέρωση καλείται μία φορά ανά πλαίσιο void Update () ( if (character.transform.position.x - μετασχηματίζω.θέση.χ >

Προσθέστε αυτό το σενάριο στο σωλήνα sprite με τον ίδιο τρόπο όπως πριν. Έτσι, ο σωλήνας θα επιστρέψει στην οθόνη αφού φύγει από το αριστερό του περίγραμμα. Δεν έχουμε κάνει τίποτα εδώ ακόμα, αλλά θα επανέλθουμε.

Η μέθοδος OnCollisionEnter2D() καλείται κάθε φορά που ο σωλήνας αλληλεπιδρά με έναν χαρακτήρα. Μετά από αυτό, καλείται η μέθοδος Death() που δημιουργήθηκε νωρίτερα, επιστρέφοντας τον παίκτη στο σημείο εκκίνησης.

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

ανεστραμμένους σωλήνες

Αυτήν τη στιγμή έχουμε μόνο ένα sprite σωλήνα. Ας προσθέσουμε ένα ακόμη. Για να το κάνετε αυτό, κάντε δεξί κλικ στο παράθυρο της ιεραρχίας, κάντε κλικ στην επιλογή Νέο αντικείμενο 2D > Sprite και, στη συνέχεια, επιλέξτε το ξωτικό που θέλετε να χρησιμοποιήσετε. Είναι ακόμα πιο εύκολο να σύρετε ξανά το αρχείο στη σκηνή.

Ονομάστε αυτό το sprite pipe_down . Στο Inspector, στο Sprite Renderer, επιλέξτε την επιλογή Flip Y για να γυρίσετε τον σωλήνα ανάποδα. Προσθέστε το ίδιο RigidBody2D .

Τώρα ας γράψουμε ένα νέο σενάριο C# που ονομάζεται PipeD. Θα έχει παρόμοιο κωδικό:

Δημόσια κλάση PipeD: MonoBehaviour ( ιδιωτικός χαρακτήρας χαρακτήρων; //Αυτό απαιτείται για την προετοιμασία void Start() ( χαρακτήρας = FindObjectOfType(); ) // Η ενημέρωση καλείται μία φορά ανά πλαίσιο, void Update() ( if (character.transform.position. x - transform.position.x > 30) ( ) ) void OnCollisionEnter2D(Collision2D other) ( if (other.gameObject.tag == "Player") ( character.Death(); ) ) )

Προκατασκευές

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

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

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

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

Για να το κάνετε αυτό, δημιουργήστε έναν νέο φάκελο "Prefabs". Στη συνέχεια, σύρετε το pipe_up και το pipe_down από το παράθυρο της ιεραρχίας στον φάκελο.

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

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

Αρχικά, προσθέστε αυτόν τον κώδικα στην έκφραση υπό όρους στη μέθοδο Update() του σεναρίου Pipe που αφήσαμε κενό:

Void Update () ( if (character.transform.position.x - transform.position.x > 30) ( float xRan = Random.Range(0, 10); float yRan = Random.Range(-5, 5); Instantiate (gameObject, νέο Vector2(character.transform.position.x + 15 + xRan, -10 + yRan), transform.rotation); Destroy(gameObject); ) )

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

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

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

Δημιουργήστε ένα δημόσιο αντικείμενο παιχνιδιού με το όνομα pipeDown . Στη συνέχεια, ενημερώστε τον κώδικα ως εξής:

Αν (character.transform.position.x - transform.position.x > 30) ( float xRan = Random.Range(0, 10); float yRan = Random.Range(-5, 5); float gapRan = Random.Range (0, 3); Instantiate(gameObject, new Vector2(character.transform.position.x + 15 + xRan, -11 + yRan), transform.rotation); Instantiate(pipeDown, new Vector2(character.transform.position.x + 15 + xRan, 12 + gapRan + yRan), transform.rotation); Destroy(gameObject); )

Επιστρέψτε στο Unity και σύρετε το pipe_down prefab από το φάκελο prefabs (αυτό είναι σημαντικό!) στο σημείο όπου λέει "Pipe Down" (προσέξτε πώς η θήκη καμήλας μας αντικαθίσταται με ένα κενό) στον σωλήνα sprite pipe up . Αν θυμάστε, ορίσαμε το Pipe Down ως ένα δημόσιο αντικείμενο παιχνιδιού , το οποίο μας δίνει τη δυνατότητα να προσδιορίσουμε τι είναι αυτό το αντικείμενο από οπουδήποτε - σε αυτήν την περίπτωση μέσω του επιθεωρητή. Επιλέγοντας ένα προκατασκευασμένο για αυτό το αντικείμενο, βεβαιωνόμαστε ότι όταν ο σωλήνας δημιουργηθεί, θα περιλαμβάνει όλα τα χαρακτηριστικά και το σενάριο που προσθέσαμε νωρίτερα. Δεν δημιουργούμε απλώς ένα sprite, αλλά αναδημιουργούμε ένα αντικείμενο με έναν επιταχυντή που μπορεί να σκοτώσει τον χαρακτήρα.

Το μόνο που θα προσθέσουμε στην ίδια θέση στο σενάριο PipeD είναι απλώς Destroy(gameObject) , έτσι ώστε ο σωλήνας να αυτοκαταστραφεί όταν φύγει από την αριστερή πλευρά της οθόνης.

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

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

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

Ατελείωτη πτήση

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

Πρέπει να προσθέσουμε αυτές τις μεταβλητές:

Δημόσιο GameObject pipe_up; δημόσιο GameObject pipe_down;

Στη συνέχεια θα γράψουμε μια μέθοδο όπως αυτή:

Public void BuildLevel() ( Instantiate(pipe_down, new Vector3(14, 12), transform.rotation); Instantiate(pipe_up, new Vector3(14, -11), transform.rotation); Instantiate(pipe_down, new Vector3(26, 14), transform.rotation); Instantiate(pipe_up, new Vector3(26, -10), transform.rotation); Instantiate(pipe_down, new Vector3(38, 10), transform.rotation); Instantiate(pipe_up, new Vector3( 38, -14), transform.rotation); Instantiate(pipe_down, new Vector3(50, 16), transform.rotation); Instantiate(pipe_up, new Vector3(50, -8), transform.rotation); Instantiate(pipe_down, νέο Vector3(61, 11), transform.rotation); Instantiate(pipe_up, new Vector3(61, -13), transform.rotation); )

Θα το καλέσουμε μία φορά στη μέθοδο Update() και μία φορά στη μέθοδο Death().

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

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

Τελικά

Αυτό κάναμε ολόκληρο το παιχνίδι! Προσθέστε έναν μετρητή βαθμολογίας, προσπαθήστε να το κάνετε πιο πρωτότυπο και αυξήστε τη δυσκολία του παιχνιδιού καθώς προχωράτε. Επίσης, δεν θα είναι περιττό να φτιάξετε ένα μενού. Μια άλλη καλή ιδέα είναι να καταστρέψετε τους σωλήνες στην οθόνη μετά τον θάνατο του χαρακτήρα. Μόλις τελειώσετε με αυτό - θεωρήστε το έτοιμο για κυκλοφορία Play Storeπαιχνίδι στην τσέπη σου! Μια φορά κι έναν καιρό παρόμοιο παιχνίδιέκανε έναν άλλο προγραμματιστή πολύ πλούσιο, γεγονός που αποδεικνύει ότι δεν χρειάζεται να είσαι ιδιοφυΐα προγραμματισμού ή να έχεις έναν πλούσιο εκδότη πίσω σου για να πετύχεις. Χρειάζεσαι μόνο μια καλή ιδέα και δέκα λεπτά!

Θέλετε να γράψετε εφαρμογές Android αλλά δεν ξέρετε από πού να ξεκινήσετε; Στη συνέχεια, ρίξτε μια ματιά στο εξαιρετικό μας σεμινάριο για την εκμάθηση της ανάπτυξης Android.



 
Άρθρα επίθέμα:
Όλα όσα πρέπει να γνωρίζετε για τις κάρτες μνήμης SD, ώστε να μην χαλάτε όταν αγοράζετε Connect sd
(4 αξιολογήσεις) Εάν δεν έχετε αρκετό εσωτερικό χώρο αποθήκευσης στη συσκευή σας, μπορείτε να χρησιμοποιήσετε την κάρτα SD ως εσωτερικό χώρο αποθήκευσης για το τηλέφωνό σας Android. Αυτή η δυνατότητα, που ονομάζεται Adoptable Storage, επιτρέπει στο λειτουργικό σύστημα Android να μορφοποιεί εξωτερικά μέσα
Πώς να γυρίσετε τους τροχούς στο GTA Online και πολλά άλλα στις Συνήθεις ερωτήσεις για το GTA Online
Γιατί δεν συνδέεται το gta online; Είναι απλό, ο διακομιστής είναι προσωρινά απενεργοποιημένος / ανενεργός ή δεν λειτουργεί. Πηγαίνετε σε άλλο Πώς να απενεργοποιήσετε τα διαδικτυακά παιχνίδια στο πρόγραμμα περιήγησης. Πώς να απενεργοποιήσετε την εκκίνηση της εφαρμογής Online Update Clinet στο Connect manager; ... στο σκκόκο ξέρω πότε σε πειράζει
Άσσος Μπαστούνι σε συνδυασμό με άλλες κάρτες
Οι πιο συνηθισμένες ερμηνείες της κάρτας είναι: η υπόσχεση μιας ευχάριστης γνωριμίας, απροσδόκητη χαρά, προηγουμένως άπειρα συναισθήματα και αισθήσεις, λήψη δώρου, επίσκεψη σε ένα παντρεμένο ζευγάρι. Άσσος της καρδιάς, η έννοια της κάρτας όταν χαρακτηρίζει ένα συγκεκριμένο άτομο εσείς
Πώς να φτιάξετε σωστά ένα ωροσκόπιο μετεγκατάστασης Φτιάξτε έναν χάρτη κατά ημερομηνία γέννησης με αποκωδικοποίηση
Ο γενέθλιος χάρτης μιλά για τις εγγενείς ιδιότητες και τις ικανότητες του ιδιοκτήτη του, ο τοπικός χάρτης μιλά για τοπικές συνθήκες που ξεκινούν από τον τόπο δράσης. Είναι ίσα σε σημασία, γιατί η ζωή πολλών ανθρώπων φεύγει από τον τόπο γέννησής τους. Ακολουθήστε τον τοπικό χάρτη