Βίντεο: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2024
Οι κινητές συσκευές έχουν έναν πολύ ενδιαφέροντα μηχανισμό εισαγωγής που σας επιτρέπει να ελέγχετε αντικείμενα σε ένα παιχνίδι HTML5 με κλίση. Αυτό λειτουργεί με ένα ειδικό εργαλείο που ονομάζεται επιταχυνσιόμετρο , το οποίο παρακολουθεί την κίνηση. Το επιταχυνσιόμετρο μετρά πραγματικά την περιστροφή και μπορείτε να το χρησιμοποιήσετε για να έχετε ωραίο έλεγχο κλίσης στο παιχνίδι σας.
Η βιβλιοθήκη simpleGame έχει ένα ειδικό αντικείμενο που ονομάζεται Accel που ενσωματώνει το επιταχυνσιόμετρο. Λειτουργεί πολύ σαν το αντικείμενο Joy.
-
Δημιουργήστε ένα αντικείμενο Accel.
Το SimpleGame έχει ένα αντικείμενο Accel. Δημιουργήστε αυτό το αντικείμενο για να ενεργοποιήσετε τη δοκιμή επιταχυνσιόμετρο.
-
Χρησιμοποιήστε μεθόδους για τον προσδιορισμό της κλίσης.
Το αντικείμενο Accel έχει ειδικές μεθόδους που ονομάζονται getAX () και getAY () που υποδεικνύουν την ποσότητα περιστροφής.
-
Τροποποιήστε τις τιμές επιτάχυνσης.
Οι τιμές AX και AY εμφανίζουν την ποσότητα περιστροφής γύρω από τους άξονες X και Y, αντίστοιχα. Οι τιμές κυμαίνονται από -9 έως 9. Γενικά, θα χρειαστεί να τροποποιήσετε τις τιμές κλίσης για να αποκτήσετε ακριβώς τη συμπεριφορά που θέλετε. Αυτό συνήθως περιλαμβάνει μερικούς απλούς υπολογισμούς μαθηματικών.
Εδώ είναι ο κωδικός για την επιτάχυνση. html:
επιτάχυνση. html var παιχνίδι? var μπάλα? var accel λειτουργία init () {παιχνίδι = νέα σκηνή (); μπάλα = νέο Sprite (παιχνίδι, "redBall. png", 50, 50); accel = νέο Accel (); παιχνίδι. start ();} // end init λειτουργία ενημέρωσης () {παιχνίδι. Σαφή(); newDX = επιτάχυνση. getAY (); newDY = επιτάχυνση. getAX (); newDX * = -5. newDY * = -5. μπάλα. setDX (newDX); μπάλα. setDY (newDY); μπάλα. update ();}
Το επιταχυνσιόμετρο είναι εύκολο στη χρήση:
-
Κάντε μια μεταβλητή για να κρατήσετε το αντικείμενο επιταχυνσιόμετρο.
Μπορείτε να καλέσετε το μεταβλητό σας χτύπημα.
-
Χρησιμοποιήστε την επιτάχυνση. getAX () για να πάρει περιστροφή γύρω από το X.
Η μέθοδος getAX () επιστρέφει το ποσοστό κλίσης γύρω από τον άξονα Χ. Ο άξονας Χ πηγαίνει από την μία πλευρά στην άλλη στην οθόνη, οπότε η περιστροφή γύρω από το Χ είναι κανονικά δεμένη με κίνηση κατά μήκος του άξονα Y!
-
Χρησιμοποιήστε το acccel. getAY () για τον καθορισμό της περιστροφής γύρω από το Y.
Ομοίως, η μέθοδος getAY () περιγράφει το ποσοστό κλίσης κατά μήκος του (κάθετου) άξονα Υ. Κανονικά, θα χρησιμοποιήσετε το getAY () για τον έλεγχο της οριζόντιας κίνησης.
-
Μην ανησυχείτε για τον άξονα Z.
Μπορείτε επίσης να διαβάσετε την περιστροφή κατά μήκος του άξονα Z (που πηγαίνει από το κέντρο της οθόνης στη μύτη σας), αλλά αυτό δεν είναι γενικά χρήσιμο.
-
Υποθέστε (προς το παρόν) ότι η ουδέτερη θέση βρίσκεται ακριβώς επίπεδη σε ένα τραπέζι.
Θα λάβετε μηδενικές τιμές για getAX () και getAY () όταν η συσκευή βρίσκεται εντελώς ακόμα σε ένα απολύτως επίπεδο τραπέζι.
-
Πειραματιστείτε με παράγοντες κλιμάκωσης.
Γενικά θα πρέπει να πολλαπλασιάσετε τα αποτελέσματα getAX () και getAY () κατά κάποιο ποσό για να πάρετε τη συμπεριφορά που θέλετε. Εάν πολλαπλασιάζετε και τα δύο αρνητικά πέντε, θα έχετε τις κατάλληλες τιμές για dy και dx. Θα χρειαστεί να πειραματιστείτε για να πάρετε ακριβώς τη συμπεριφορά που θέλετε.