Créer un jeu de plateforme 2D avec Unity et l'API Dolby Audio

Ce que vous allez créer

introduction

Dans ce didacticiel, vous allez apprendre à créer un jeu 2D mobile en utilisant C # et Unity. Nous allons tirer parti du plug-in Dolby Audio pour Unity pour améliorer l'expérience auditive du jeu. L'objectif du jeu est simple: atteindre l'autre côté du niveau tout en évitant les ennemis et en collectant des pièces.

Dans ce didacticiel, vous apprendrez les aspects suivants du développement de jeux Unity:

  • mettre en place un projet 2D dans Unity
  • créer des prefabs
  • boutons de mouvement et d'action
  • travailler avec des collisions de physique
  • en utilisant une feuille de sprite
  • intégrer l'API Dolby Audio

1. Créer un nouveau projet Unity

Ouvrez Unity et sélectionnez Nouveau projet du Fichier menu pour ouvrir la boîte de dialogue nouveau projet. Indiquez à Unity où vous souhaitez enregistrer le projet et configurez leConfigurer les valeurs par défaut pour: menu déroulant à 2D.

 

2. Paramètres de construction

Dans l'étape suivante, l'interface utilisateur de Unity vous est présentée. Configurez le projet pour le développement mobile en choisissant Paramètres de construction du Fichier menu et sélectionnez Android comme plate-forme cible.


3. appareils

Comme nous sommes sur le point de créer un jeu en 2D, la première chose à faire après la sélection de la plate-forme cible est de choisir la taille de l'illustration que nous utiliserons dans le jeu. Étant donné qu'Android est une plate-forme ouverte, de nombreux appareils, résolutions d'écran et densités de pixels sont disponibles sur le marché actuel. Quelques-uns des plus courants sont:

  • Samsung Galaxy SIII: 720px x 1280px, 306 ppi
  • Asus Nexus 7 Tablet: 800px x 1280px, 216 ppi
  • Motorola Droid X: 854 pixels x 480 pixels, 228 pixels

Même si nous allons nous concentrer sur la plate-forme Android dans ce didacticiel, vous pouvez utiliser le même code pour cibler l'une des autres plates-formes prises en charge par Unity..


4. Exporter des graphiques

Selon les appareils que vous ciblez, vous devrez peut-être convertir l'illustration du jeu à la taille et à la densité de pixels recommandées. Vous pouvez le faire dans votre éditeur d'image préféré. J'ai utilisé le Ajuster la taille… fonctionner sous la Outils menu sous OS X Aperçu application.


5. Interface utilisateur Unity

Avant de commencer, assurez-vous de cliquer sur le bouton 2D bouton dans le Scène panneau. Vous pouvez également modifier la résolution affichée dans le Jeu panneau.


6. Interface de jeu

L'interface de notre jeu sera simple. La capture d'écran ci-dessus vous donne une idée de l'illustration que nous allons utiliser et de l'apparence finale de l'interface du jeu final. Vous pouvez trouver les illustrations de ce tutoriel dans les fichiers sources de ce tutoriel..


7. Langage de programmation

Vous pouvez utiliser l'un des trois langages de programmation lorsque vous utilisez Unity, C #, UnityScript, une variante de JavaScript et Boo. Chacun de ces langages de programmation a ses avantages et ses inconvénients et il vous appartient de choisir celui que vous préférez. Ma préférence personnelle va au langage de programmation C #, donc c'est le langage que j'utiliserai dans ce tutoriel..

Si vous décidez d'utiliser un autre langage de programmation, consultez le Guide de référence du script de Unity pour consulter des exemples..


8. graphiques 2D

Unity s'est bâti un nom pour être une excellente plate-forme pour la création de jeux 3D pour diverses plates-formes, telles que la Xbox 360 de Microsoft, la PS3 de Sony, la Wii de Nintendo, le Web et diverses plates-formes mobiles..

Bien qu’il ait toujours été possible d’utiliser Unity pour le développement de jeux 2D, ce n’est que lors de la sortie de Unity 4.3 qu’il a pris en charge la 2D native. Nous allons apprendre à travailler avec des images en tant qu'images-objets au lieu de textures dans les étapes suivantes..


9. Effets sonores

Je vais utiliser un certain nombre de sons pour créer une excellente expérience auditive pour le jeu. Les effets sonores utilisés dans ce tutoriel ont été obtenus à partir de as3sfxr et PlayOnLoop.


10. Actifs d'importation

Avant de commencer à coder, nous devons ajouter nos ressources au projet Unity. Vous pouvez le faire de plusieurs manières:

  • sélectionner Importer un nouvel actif du Les atouts menu
  • ajouter les éléments dans le dossier des actifs de votre projet
  • faites glisser les éléments dans la fenêtre du projet

Une fois cette étape terminée, vous devriez voir les actifs dans le projet. Les atouts dossier dans le Projet panneau.

11. Créer une scène

Nous sommes prêts à créer la scène de notre jeu en faisant glisser des objets vers le Hiérarchie ou Scène panneau.


12. Contexte

Commencez par faire glisser l’arrière-plan dans la Hiérarchie panneau. Il devrait apparaître automatiquement dans le Scène panneau.

Parce que le Scène panneau est configuré pour afficher une vue 2D, vous remarquerez que la sélection de la Caméra principale dans le Hiérarchie montre un aperçu de ce que la caméra va afficher. Vous pouvez aussi voir cela dans le Jeu vue. Pour rendre toute la scène visible, changez le Taille valeur de la Caméra principale à 1,58 dans le Inspecteur panneau.


13. étage

Le sol est utilisé pour empêcher notre personnage principal de tomber une fois que nous avons ajouté la physique au jeu. Faites-le glisser du Les atouts dossier et placez-le dans la scène comme indiqué ci-dessous.


14. collisionneur de sol

Pour que le sol détecte quand le personnage le touche, nous devons ajouter un composant, un Box Collider 2D pour être précis.

Sélectionnez le sol dans la scène, ouvrez le Inspecteur panneau, et cliquez Ajouter un composant. Dans la liste des composants, sélectionnez Box Collider 2D du Physique 2D section.

15. Bouton de saut

Nous utiliserons des boutons pour contrôler notre personnage principal dans le jeu. Faites glisser et positionnez le bouton de saut dans le Scène et ajouter un Cercle Collider2D composant comme indiqué à l'étape précédente.


16. Saut du son

Pour jouer un son lorsque le personnage saute, nous devons d’abord le joindre au bouton de saut. Sélectionnez-le parmi Hiérarchie ou Scène voir, cliquez sur le Ajouter un composant bouton dans le Inspecteur panneau, et sélectionnez Source audio dans le l'audio section.

Décocher Jouez sur Awake et cliquez sur le petit point à droite, sous l'icône d'engrenage, pour sélectionner le son que nous voulons jouer lorsque le joueur appuie sur le bouton. Dans l'étape suivante, nous allons implémenter la logique pour jouer le son lorsque le joueur appuie sur le bouton.


17. Script de saut

Créons le script qui contrôlera notre personnage. Sélectionnez le bouton de saut et cliquez sur le bouton Ajouter un composant bouton dans le Inspecteur panneau. Sélectionner Nouveau script et nommez-le Saut. N'oubliez pas de changer le langage en C #.

Ouvrez le fichier nouvellement créé et ajoutez l'extrait de code suivant..

utiliser UnityEngine; using System.Collections; classe publique Jump: MonoBehaviour public float jumpForce; héros privé GameObject; // utilisé pour référencer notre personnage (héros) sur la scène // Utiliser ceci pour l'initialisation void Start () hero = GameObject.Find ("Hero"); // obtient l'objet de jeu héros // Update est appelé une fois par image void Update () / * Vérifie si l'utilisateur touche le bouton sur le périphérique * / if (Application.platform == RuntimePlatform.Android) if ( Input.touchCount> 0) if (Input.GetTouch (0) .phase == TouchPhase.Began) CheckTouch (Input.GetTouch (0) .position, "commencé"); // fonction créée ci-dessous else if (Input.GetTouch (0) .phase == TouchPhase.Ended) CheckTouch (Input.GetTouch (0) .position, "terminé");  / * Vérifiez si l'utilisateur touche le bouton dans l'éditeur, modifiez la valeur OSXEditor si vous êtes sous Windows * / if (Application.platform == RuntimePlatform.OSXEditor) if (Input.GetMouseButtonDown (0)) CheckTouch (Input.mousePosition, "commencé");  if (Input.GetMouseButtonUp (0)) CheckTouch (Input.mousePosition, "terminé");  void CheckTouch (Vector3 pos, phase de chaîne) / * Obtenir le point d'écran où l'utilisateur touche * / Vector3 wp = Camera.main.ScreenToWorldPoint (pos); Vector2 touchPos = new Vector2 (wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint (touchPos); / * si le bouton est touché… * / if (hit.gameObject.name == "JumpButton" && hit && phase == "commencé") hero.rigidbody2D.AddForce (nouveau Vector2 (0f, jumpForce)); // Ajoute une force de saut au héros audio.Play (); // Lecture audio attachée à cet objet de jeu (son sauté)

L’extrait de code peut sembler décourageant, mais c’est en fait assez simple. Nous obtenons d’abord une référence à la héros objet, une instance du GameObject classe, afin que nous puissions l'utiliser plus tard. Nous détectons ensuite si l’utilisateur touche le bouton de saut et, s’ils le sont, ajoutons une force à la héros objet. Dernier point mais non le moindre, nous jouons le son du saut lorsque le bouton de saut est appuyé.

18. Boutons de mouvement

Les étapes pour ajouter et implémenter les boutons de mouvement, gauche et droite, sont très similaires. Commencez par placer les boutons dans la scène et ajoutez un Cercle Collider 2D à chaque bouton comme nous l'avons fait avec le bouton de saut.



19. Scripts de mouvement

Créez un nouveau script, attachez-le au bouton gauche et nommez-le Se déplacer à gauche. Remplacez son contenu par l'extrait de code suivant, qui contient le Se déplacer à gauche méthode.

utiliser UnityEngine; using System.Collections; Classe publique MoveLeft: MonoBehaviour public Vector3 moveSpeed ​​= new Vector3 (); bool privé en mouvement = faux; scène privée GameObject []; // tableau d'objets de jeu conformes à la scène private GameObject bg; // Utiliser ceci pour l'initialisation void Start () scene = GameObject.FindGameObjectsWithTag ("Moveable"); // Objets de jeu avec balise Mobile bg = GameObject.Find ("Background"); // Contexte du jeu // La mise à jour est appelée une fois par image. Void Update () / * Détecter le toucher * / if (Application.platform == RuntimePlatform.Android) if (Input.touchCount> 0) if (Input.GetTouch (0) .phase == TouchPhase.Began) CheckTouch (Entrée.GetTouch (0) .position, "commencé");  else if (Input.GetTouch (0) .phase == TouchPhase.Ended) CheckTouch (Input.GetTouch (0) .position, "terminé");  if (Application.platform == RuntimePlatform.OSXEditor) if (Input.GetMouseButtonDown (0)) CheckTouch (Input.mousePosition, "commencé");  if (Input.GetMouseButtonUp (0)) CheckTouch (Input.mousePosition, "terminé");  // Le bouton Déplacer si est enfoncé si (déplacement && bg.transform.position.x < 4.82f)  for (int i = 0; i < scene.Length; i++)  if (scene [i] != null)  scene [i].transform.position += moveSpeed;     void CheckTouch(Vector3 pos, string phase)  Vector3 wp = Camera.main.ScreenToWorldPoint(pos); Vector2 touchPos = new Vector2(wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint(touchPos); if (hit.gameObject.name == "LeftButton" && hit && phase == "began")  moving = true;  if (hit.gameObject.name == "LeftButton" && hit && phase == "ended")  moving = false;   

Dans ce script, nous créons un tableau des éléments étiquetés comme Mobile-nous les identifierons plus tard dans ce didacticiel afin de faciliter leur déplacement simultané. Pour déplacer les éléments, nous vérifions d’abord si le bouton est touché et changeons la position en utilisant vitesse de déplacement dans le Mettre à jour une fonction. C'est aussi simple que ça.

Créez un autre script, attachez-le au bouton droit et nommez-le Déplacer vers la droite. Ce script contient le Déplacer vers la droite méthode et sa mise en œuvre est similaire à celle de la Se déplacer à gauche méthode nous avons vu il y a un moment. Nous changeons la direction du mouvement en remplaçant += moveSpeed avec -= moveSpeed. Cela déplacera la scène dans la direction opposée.

dans le Déplacer vers la droite script, nous vérifions également si le joueur a terminé le niveau.

utiliser UnityEngine; using System.Collections; Classe publique MoveRight: MonoBehaviour public Vector3 moveSpeed ​​= new Vector3 (); bool privé en mouvement = faux; scène privée GameObject []; GameObject bg privé; public AudioClip completeSound; boutons privés GameObject []; private GameObject completeText; bool privé terminé = false; police publique goodDog; // Utiliser ceci pour l'initialisation void Start () scene = GameObject.FindGameObjectsWithTag ("Moveable"); bg = GameObject.Find ("Background"); buttons = GameObject.FindGameObjectsWithTag ("Boutons");  // Update est appelé une fois par image. Void Update () if (Application.platform == RuntimePlatform.Android) if (Input.touchCount> 0) if (Input.GetTouch (0) .phase == TouchPhase.Began ) CheckTouch (Input.GetTouch (0) .position, "commencé");  else if (Input.GetTouch (0) .phase == TouchPhase.Ended) CheckTouch (Input.GetTouch (0) .position, "terminé");  if (Application.platform == RuntimePlatform.OSXEditor) if (Input.GetMouseButtonDown (0)) CheckTouch (Input.mousePosition, "commencé");  if (Input.GetMouseButtonUp (0)) CheckTouch (Input.mousePosition, "terminé");  // Déplacer si le bouton est enfoncé && l'étape n'est pas terminée if (moving && bg.transform.position.x> -4.8f) pour (int i = 0; i < scene.Length; i++)  if (scene [i] != null)  scene [i].transform.position -= moveSpeed;    // Stage Completed if (bg.transform.position.x <= -4.8f && ended == false)  Alert("complete");   void CheckTouch(Vector3 pos, string phase)  Vector3 wp = Camera.main.ScreenToWorldPoint(pos); Vector2 touchPos = new Vector2(wp.x, wp.y); Collider2D hit = Physics2D.OverlapPoint(touchPos); if (hit.gameObject.name == "RightButton" && hit && phase == "began")  moving = true;  if (hit.gameObject.name == "RightButton" && hit && phase == "ended")  moving = false;   public void Alert(string action)  ended = true; completeText = new GameObject(); completeText.AddComponent("GUIText"); completeText.guiText.font = goodDog; completeText.guiText.fontSize = 50; completeText.guiText.color = new Color(255, 0, 0); if (action == "complete")  AudioSource.PlayClipAtPoint(completeSound, transform.position); completeText.guiText.text = "Level Complete!"; completeText.guiText.transform.position = new Vector3(0.24f, 0.88f, 0);  else  completeText.guiText.text = "Game Over"; completeText.guiText.transform.position = new Vector3(0.36f, 0.88f, 0);  bg.GetComponent().Stop(); for(int i = 0; i < buttons.Length; i++)  buttons[i].renderer.enabled = false; Invoke("restart", 2);   void restart()  Application.LoadLevel(Application.loadedLevel);  

le Alerte  function crée et affiche un message au joueur et joue le son attaché à l'image-objet en arrière-plan. Pour que cela fonctionne, ajoutez le son correspondant à l'image-objet d'arrière-plan, comme nous l'avons vu précédemment dans ce didacticiel. Nous masquons également les boutons et redémarrons le jeu avec un délai de deux secondes..

20. feuille de sprite

Nous utiliserons une feuille de sprite pour le reste des éléments du jeu. Unity possède un éditeur de sprites qui facilite grandement l’utilisation des sprites. L'illustration utilisée dans ce tutoriel a été obtenue à partir d'OpenGameArt.org..

Importez l’œuvre, sélectionnez-la dans la liste Les atouts panneau, et changer le Mode Sprite option de Plusieurs dans le Inspecteur panneau.

Ouvrez le Éditeur de sprite en cliquant sur le bouton ci-dessous et sélectionnez Tranche> Automatique.


21. héros

La feuille de l’image-objet étant coupée en tranches et prête à être utilisée, cliquez sur la flèche qui apparaît lorsque la feuille de l’image-objet est sélectionnée et choisissez l’image-objet du héros, le personnage principal de notre jeu. Placez-le sur la scène et ajoutez un Collider 2D composante à ce.


22. Héros RigidBody 2D

Pour détecter une collision avec notre héros, au moins un des objets en collision doit avoir un RigidBody 2D composant attaché à elle. Pour en ajouter un à notre héros, sélectionnez Ajouter un composant dans le Inspecteur panneau, suivi de Physique 2D > RigidBody 2D.

Vérifier la Angle fixe boîte pour empêcher le héros de tourner en cas de collision.

23. Son Hero

Lorsque notre héros est frappé par un ennemi, nous émettons un autre son pour informer le joueur. Si vous avez déjà joué à Super Mario Bros., vous savez probablement quel effet nous recherchons. Pour ce faire, nous devons d’abord ajouter le son. Sélectionnez-le parmi Hiérarchie ou Scène voir, cliquez sur le Ajouter un composant bouton dans le Inspecteur panneau, et sélectionnez Source audio dans le l'audio section.

Les détails du composant audio apparaîtront dans le Panneau de l'inspecteur. Cliquez sur le point situé sous l’icône engrenage et sélectionnez le frappé du son.

24. Collecte des pièces

Comme dans beaucoup de jeux de plateforme 2D traditionnels, vous pouvez collecter des pièces dans notre jeu. Parce que nous allons utiliser cet objet plusieurs fois dans le jeu, nous le convertirons en Préfabriqué une fois que nous avons ajouté tous les composants nécessaires.

Faites glisser la pièce de la Les atouts dossier et ajouter un Collider2D comme nous l'avons vu dans les étapes précédentes.


25. Son Coin

Nous jouons un son chaque fois que notre héros ramasse une pièce de monnaie. Ajouter un Source audio composant que nous avons vu il y a un moment et sélectionnez le pièce de monnaie son des atouts du projet.



26. Script et préfabriqué

Joignez ce script simple à la pièce. Il détecte quand la pièce de monnaie et le héros entrent en collision. La pièce est détruite et un son est émis pour indiquer que la pièce a été collectée par le héros..

utiliser UnityEngine; using System.Collections; Classe publique GrabCoin: MonoBehaviour void OnTriggerEnter2D (Collider2D other) if (other.gameObject.name == "Hero") audio.Play (); Détruire (gameObject.collider2D); gameObject.renderer.enabled = false; Destroy (gameObject, 0.47f); // Détruit l'objet -après le son joué

Avec tous les composants en place, faites glisser la pièce de la Hiérarchie panneau au Les atouts panneau pour le convertir en un Préfabriqué. Vous remarquerez que le texte devient bleu indiquant qu'il est maintenant un préfabriqué.


27. Ennemi

N'oublions pas les ennemis du jeu. Faites glisser les illustrations pour l'ennemi de la Les atouts dossier et ajouter deux Collider 2D composants comme indiqué dans la capture d'écran ci-dessous.


La taille des collisionneurs est réduite pour éviter que le héros ne se heurte simultanément aux deux collisionneurs. Modifier les paramètres de chaque Collider 2D composant comme ci-dessous.

Le premier collisionneur du panneau est le collisionneur supérieur que nous avons ajouté à l'ennemi. Il détectera si le héros saute par-dessus son ennemi et le détruit. La logique de cette action est montrée dans le script ci-dessous.

Nous marquons le deuxième collisionneur comme déclencheur en cochant la case intitulée Est déclencheur. Il détecte quand l'ennemi se heurte au héros ou vice versa. Lorsque cela se produit, le joueur perd la partie..


Le script associé à l'ennemi est présenté ci-dessous et met en œuvre la logique dont nous venons de parler. Comme vous pouvez le constater, l'ennemi est déplacé vers la gauche dans chaque cadre et le script détecte le moment où le héros saute au-dessus de l'ennemi ou lorsqu'il se heurte à l'ennemi..

utiliser UnityEngine; using System.Collections; public class Enemy: MonoBehaviour public Vector3 moveSpeed; public AudioClip hitSound; Alerte publique GameObjectBridge; // Utiliser ceci pour l'initialisation void Start ()  // Update est appelé une fois par image void Update () transform.position - = moveSpeed; // Déplace l'ennemi vers la gauche vide OnCollisionEnter2D (Collision2D other) // Le héros saute sur l'ennemi if (other.gameObject.name == "Hero") AudioSource.PlayClipAtPoint (hitSound, transform.position); Détruire (gameObject);  void OnTriggerEnter2D (Collider2D other) // le héros frappe le côté de l'ennemi if (other.gameObject.name == "Hero") other.gameObject.audio.Play (); // Lecture audio Destroy (other.gameObject.collider2D); // Supprimer le collisionneur pour éviter la lecture audio other.gameObject.renderer.enabled = false; // Rendre un objet invisible Destroy (other.gameObject, 0.626f); // Détruit l'objet lorsque la lecture de l'audio est terminée. Si vous le détruisez avant, l'audio arrêtera alertBridge.GetComponent (). Alert ("gameover"); 

28. briques

Les briques sont utilisées comme plates-formes. Le héros peut sauter sur les briques pour éviter les ennemis et collecter des pièces. Faites glisser l’œuvre en brique du Les atouts panneau et ajouter un Collider 2D composant à elle. N'oubliez pas de le convertir en un Préfabriqué, car il sera utilisé un peu dans le jeu.


29. la fin

Nous allons utiliser un sprite pour montrer la ligne d'arrivée du niveau. Faites-le glisser du Les atouts panneau au Scène comme indiqué dans la capture d'écran ci-dessous.

30. Dolby Audio Plugin


Améliorons l'expérience auditive de notre jeu en utilisant le plug-in Dolby Audio pour Unity. Cependant, permettez-moi d’abord d’expliquer pourquoi vous devriez utiliser le plug-in Dolby Audio et en quoi cela améliorera votre jeu..

Dolby Digital Plus est une solution audio avancée intégrée à de nombreux appareils mobiles, y compris les tablettes. Les applications mobiles peuvent exploiter les fonctionnalités Dolby Digital Plus via une API. Parmi les avantages, citons l'optimisation audio, la maximisation du volume et le nivellement du volume. Dolby a mis son API à la disposition de plusieurs plates-formes, notamment Android et Kindle Fire. Dans notre jeu, nous allons tirer parti du plug-in Dolby Audio pour Unity.

Notez que le plugin pour Unity est libre d’utilisation et très facile à intégrer. En d'autres termes, il n'y a aucune raison de ne pas l'inclure dans votre prochain jeu..

Commencez par télécharger le plugin Dolby's Unity. Vous pouvez le télécharger depuis Unity Asset Store ou directement depuis le site Web des développeurs de Dolby. Si vous choisissez cette dernière option, créez un compte gratuit pour télécharger le plug-in ou connectez-vous si vous avez déjà un compte développeur Dolby. Extrayez le paquet et copiez la version dont vous avez besoin Atouts> Plugins> Android. Voilà comment il est facile d'installer le plugin pour Unity.

Créez un nouveau script et attachez-le à un objet toujours présent dans le jeu, tel que l'arrière-plan ou la caméra. Nommez le script Dolby et le remplir avec l'extrait de code suivant.

utiliser UnityEngine; using System.Collections; using System.Runtime.InteropServices; // Permet d'utiliser DLLImport, classe publique Dolby: MonoBehaviour private GameObject debugText; public arial Font; / * Fonctions du plugin d'importation * / [DllImport ("DSPlugin")] public static bool isAvailable (); [DllImport ("DSPlugin")] public statique externe int initialize (); [DllImport ("DSPlugin")] public statique externe int setProfile (int profilid); [DllImport ("DSPlugin")] public statique extern int suspendSession (); [DllImport ("DSPlugin")] public statique externe int restartSession (); [DllImport ("DSPlugin")] public statique extern void release (); // Utiliser ceci pour l'initialisation void Start () / * Champ de texte créé pour le retour * / debugText = new GameObject (); debugText.AddComponent ("GUIText"); debugText.guiText.font = arial; debugText.guiText.fontSize = 14; debugText.guiText.color = nouvelle couleur (255, 0, 0); debugText.transform.position = new Vector3 (0, 1, 0); / * Initialise Dolby si disponible * / if (isAvailable ()) Invoke (Init, 0.1f); // Attendez 100 ms pour vous assurer que le service Dolby est activé else debugText.guiText.text = "Son Dolby non disponible";  void Init () debugText.guiText.text = "Son Dolby disponible"; setProfile (2); / * Définir le profil sur "Jeu" * / initialize ();  void OnApplicationPause () suspendSession (); // le son Dolby s'arrête si l'application est commutée ou en pause void OnApplicationFocus () restartSession (); // Redémarrez le son Dolby si l'application est active void OnApplicationQuit () release (); // Arrête complètement le son Dolby 

Vous conviendrez sûrement qu'il est très facile d'intégrer l'API Dolby Audio à votre jeu. Nous créons d'abord un debugText objet, qui est de type GameObject, pour recevoir des commentaires de l'appareil. Nous importons ensuite les fonctions nécessaires définies par l'API Dolby Audio et initialisons l'API Dolby Audio si le périphérique de l'utilisateur le prend en charge..

Pour nous assurer que le service Dolby est activé, nous attendons brièvement (0.1s) avant d’appeler le initialiser() méthode. Si nous ne le faisons pas, il est possible que vous receviez un -1 erreur qui peut se produire lorsque vous essayez d'activer Dolby lorsque le service est établi.

Dolby a également inclus des fonctions pour suspendre et redémarrer le son en cas de besoin, ce qui est utile lorsque nous passons à une autre application et que nous n’avons pas besoin de l’amélioration du son. Ceci est important pour économiser la batterie et les autres ressources de l'appareil. Nous pouvons également arrêter complètement l’amélioration du son en invoquant Libération comme nous le faisons dans OnApplicationQuit.


31. Test

Il est temps de tester le jeu. Appuyez sur Command-P pour jouer au jeu dans Unity. Si tout fonctionne comme prévu, vous êtes prêt pour les dernières étapes.


32. Paramètres du joueur

Lorsque vous êtes satisfait de votre jeu, il est temps de sélectionner Paramètres de construction du Fichier menu et cliquez sur le Paramètres du joueur bouton. Cela devrait amener le Paramètres du joueur dans le Inspecteur panneau où vous pouvez définir les paramètres pour votre application.

Ces paramètres sont spécifiques à l’application et incluent le créateur ou la société, la résolution de l’application, le mode d’affichage, etc. Ces paramètres dépendent des appareils que vous ciblez et des magasins ou marchés sur lesquels vous publierez votre jeu..


33. Icônes et images Splash

En utilisant les graphiques que vous avez créés précédemment, vous pouvez maintenant créer une jolie icône et une image de démarrage pour votre jeu. Unity vous indique les tailles requises, qui dépendent de la plate-forme pour laquelle vous construisez..

34. Construire et jouer


Une fois votre projet correctement configuré, il est temps de revenir sur la Paramètres de construction et cliquez sur le Construire bouton. C'est tout ce dont vous avez besoin pour créer votre jeu à des fins de test et / ou de distribution..

Conclusion

Dans ce didacticiel, nous avons découvert le nouveau plug-in Dolby Audio pour Unity, les feuilles de sprite, les contrôles, la détection de collision et d'autres aspects du développement de jeux utilisant Unity. Je vous encourage à expérimenter le résultat et à personnaliser le jeu pour qu'il soit le vôtre. J'espère que vous avez aimé ce tutoriel et que vous l'avez trouvé utile.