Créer un jeu de réflexion basé sur la physique - Ajouter une interaction

C’est le deuxième volet de notre tutoriel sur le puzzle physique avec Corona SDK. Dans le tutoriel d'aujourd'hui, nous allons ajouter à notre interface et notre interaction de jeu. Continuer à lire!


Aussi disponible dans cette série:

  1. Créer un jeu de réflexion basé sur la physique - Création d'interface
  2. Créer un jeu de réflexion basé sur la physique - Ajouter une interaction

Où nous nous sommes laissés…

Assurez-vous de lire la première partie du didacticiel pour bien comprendre et vous préparer à ce didacticiel..


1. Bouton de démarrage écouteurs

Cette fonction ajoute les auditeurs nécessaires à la TitleView boutons.

 function startButtonListeners (action) if (action == 'add'), puis playBtn: addEventListener ('tap', showGameView) creditsBtn: addEventListener ('tap', showCredits) sinon playBtn: removeEventListener ('tap', showGameView) 'tap', showCredits) end end

2. Afficher les crédits

L’écran des crédits s’affiche lorsque l’utilisateur appuie sur le bouton sur bouton. UNE robinet écouteur est ajouté à la vue des crédits pour le supprimer.

 function showCredits: tap (e) playBtn.isVisible = false creditsBtn.isVisible = false creditsView = display.newImage ('credits.png', -130, display.contentHeight-140) transition.to (creditsView, heure = 300, x = 65, onComplete = function () creditsView: addEventListener ('tap', hideCredits) end) end

3. Masquer les crédits

Lorsque l'écran des crédits est exploité, il sera interpolé hors de la scène et supprimé.

 function hideCredits: tap (e) playBtn.isVisible = vrai creditsBtn.isVisible = vrai transition.to (creditsView, heure = 300, y = display.contentHeight + creditsView.height, onComplete = fonction () creditsView: removeEventListener ('tap' , hideCredits) display.remove (creditsView) creditsView = nil fin) fin

4. Afficher la vue du jeu

Quand le jouer appuyez sur le bouton, la vue du titre est interpolée et supprimée pour révéler la vue du jeu. Il y a beaucoup de parties impliquées dans cette vue donc nous allons les séparer dans la prochaine étape.

 function showGameView: tapez sur (e) transition.to (titleView, heure = 300, x = -titleView.height, onComplete = fonction () startButtonListeners ('rmv') display.remove (titleView) titleView = nil end)

5. Message d'instructions

Les lignes suivantes ajoutent le message d'instructions. Nous allons le montrer pendant deux secondes, puis le faire disparaître..

 -- Instructions Message local ins = display.newImage ('ins.png', 32, 182) transition.from (ins, heure = 200, alpha = 0,1, onComplete = fonction () timer.performWithDelay (2000, transition function (). to (ins, heure = 200, alpha = 0.1, onComplete = fonction () display.remove (ins) ins = nul fin) fin) lvlImg = display.newImage ('level.png', 202, 2 )

6. étage

Ce code crée un rectangle dans le bas de la scène à utiliser comme sol.

 -- Étage local = display.newRect (0, 320, 480, 1)

7. boîtes de niveau

Cette partie gère la création de niveau. Il commence par créer les cases dans la scène. Nous en apprendrons plus sur cette fonction dans les prochaines étapes..

 -- Zones de niveau addBox ('g', 60, 272) addBox ('s', 148, 284) addBox ('s', 148, 248) addBox ('s', 148, 212) addBox ('s', 148, 176) addBox ('n', 297, 272) addBox ('n', 297, 224) addBox ('n', 297, 176) addBox ('w', 148, 164)

8 balles

Ce code ajoute la balle au niveau.

 -- Ball ball = display.newImage ('ball.png', 234, 138) ball.name = 'ball'

9. physique

Ici, nous ajoutons de la physique au sol et à la balle.

 -- Ajouter Physique physics.addBody (sol, 'statique') physics.addBody (boule, 'dynamique', radius = 12) end

10. Ajouter une fonction de boîte

La fonction suivante utilise trois paramètres pour créer un objet boîte. Vous pouvez spécifier le type de boîte dans le premier paramètre et sa position dans les deux suivants. Avec cette méthode, vous pouvez créer des niveaux complexes en utilisant seulement quelques lignes de code. Il va ajouter de la physique à la nouvelle boîte ainsi qu'un écouteur.

 fonction addBox (type, X, Y) local b = display.newImage (type… 'Box.png', X, Y) physics.addBody (b, 'dynamic') if (type ~ = '' g ') alors b: addEventListener ('tap', removeBox) elseif (type == 'g') puis b: addEventListener ('collision', onCollision) end end

11. Retirer la boîte

Cette fonction supprime la boîte cible lorsqu'elle est tapée.

 function removeBox (e) display.remove (e.target) fin

12. Collisions

Nous allons utiliser ce code pour voir si le ballon entre en collision avec la boîte de but et appeler une alerte si c'est vrai.

 function onCollision (e) if (e.other.name == 'ball'), puis display.remove (ball) alert () end end

13. Alerte

La fonction d'alerte crée une vue d'alerte, l'anime et met fin au jeu..

 fonction alert (action) gameListeners ('rmv') if (action == 'lost') puis alertView = display.newImage ('lost.png', 110, 218) else alertView = display.newImage ('win.png', 110, 218) end transition.from (alertView, heure = 200, alpha = 0.1) fin

14. Appel de la fonction principale

Afin de démarrer le jeu, le Principale la fonction doit être appelée. Nous ferons cela avec le code suivant en place.

 Principale()

15. Écran de chargement

le default.png Le fichier est une image qui sera affichée dès le lancement de l'application. Il sera automatiquement ajouté par le compilateur Corona lorsque vous l'ajouterez à votre dossier source du projet..


16. icône

En utilisant les graphiques que vous avez créés précédemment, vous pouvez créer une belle icône. La taille de l'icône de l'icône iPhone non rétinienne est 57x57px, mais la version de la rétine est 114x114px et l'iTunes Store nécessite un 512x512px version. Je suggère de créer le 512x512 version première et réduction pour les autres tailles.

Il n'a pas besoin d'avoir des coins arrondis ou un éblouissement transparent. iTunes et l'iPhone le feront pour vous.


17. Test en simulateur

Il est temps de faire le test final. Ouvrez le simulateur Corona, accédez au dossier de votre projet et cliquez sur Ouvrir. Si tout fonctionne comme prévu, vous êtes prêt pour l'étape finale!


18. Construire

Dans le simulateur Corona, accédez à Fichier> Construire et sélectionnez votre appareil cible. Remplissez les données requises et cliquez sur construire. Attendez quelques secondes et votre application sera prête pour le test de l'appareil et la soumission pour distribution.!


Conclusion

Dans cette série, nous avons appris sur le comportement de la physique, les écouteurs d'écoute et les collisions. Ce sont des compétences qui peuvent être vraiment utiles dans un grand nombre de jeux.

Expérimentez avec le résultat final et essayez de créer votre propre version personnalisée du jeu.!

J'espère que vous avez aimé cette série et que vous l'avez trouvée utile. Merci pour la lecture!