Conseil rapide du SDK Corona Transitions de vues

Bien que certaines applications puissent fonctionner complètement dans une seule vue, la plupart du temps, vous aurez besoin de plusieurs écrans ou vues pour afficher le contenu de votre application. Dans ce tutoriel, vous allez apprendre à créer et à basculer entre différentes vues à l'aide de Corona..


Aperçu de l'application

Utiliser la couronne afficher la classe et la transition.from () méthode, nous allons ajouter des images pour mettre en scène et basculer entre eux. Vous en apprendrez aussi plus sur les tables et Les fonctions aussi bien que Groupes, qui sont des conteneurs pour les objets d'affichage.

La transition sera appelée par un Robinet un événement.


Sélectionner le périphérique cible

La première chose à faire est de sélectionner la plate-forme sur laquelle vous souhaitez exécuter votre application. Ainsi, vous pourrez choisir la taille des images que vous utiliserez..

La plateforme iOS présente les caractéristiques suivantes:

  • iPad: 1024x768px, 132 ppi
  • iPhone / iPod Touch: 320 x 480 pixels, 163 ppp
  • iphone 4: 960x640px, 326 ppi

Android étant une plate-forme ouverte, il existe de nombreux appareils et résolutions. Voici quelques-unes des caractéristiques d'écran les plus courantes:

  • Nexus One: 480x800px, 254 ppi
  • Droid: 854x480px, 265 ppi
  • HTC Legend: 320x480px, 180 ppp

Dans ce tutoriel, nous allons nous concentrer sur la plate-forme iOS, spécialement conçue pour la distribution sur un iPhone / iPod touch..


Interface

Nous allons créer une interface épurée comprenant trois images, la première sera une image unique contenant l’arrière-plan et un bouton graphique. Le reste des images suivra le même concept mais ils seront ajoutés séparément pour vous montrer comment utiliser Groupes. Ceci est très utile lorsque vous devez modifier une vue remplie de boutons, textes, images, etc..


Exporter des PNG

En fonction du périphérique que vous avez sélectionné, vous devrez peut-être exporter les graphiques dans l'IPP recommandé. Vous pouvez le faire dans votre éditeur d'images préféré..

J'ai utilisé le Ajuster la taille fonction dans l'application Aperçu sous Mac OS X.

N'oubliez pas de donner un nom descriptif aux images et de les enregistrer dans votre dossier de projet..


Code!

Temps d'écrire notre application!

Ouvrez votre éditeur Lua préféré (n'importe quel éditeur de texte fonctionnera, mais vous n'aurez pas la coloration syntaxique en surbrillance) et préparez-vous à écrire votre superbe application..


Masquer la barre d'état

Tout d’abord, nous masquons la barre d’état, c’est la barre en haut de l’écran qui indique l’heure, le signal et d’autres indicateurs..

 display.setStatusBar (display.HiddenStatusBar)

Ajouter une vue par défaut

Maintenant nous ajoutons la première vue, ce sera l'image avec le titre vert.

 defaultView = display.newImage ('defaultView.png')

Cette ligne crée la variable globale vue par défaut et utilise le afficher API pour ajouter l'image spécifiée à la scène. Par défaut, l'image est ajoutée à 0,0 en utilisant le coin supérieur gauche comme point de référence..


Store Last View

La variable suivante stockera la dernière vue exploitée afin de déterminer la vue à afficher ensuite. Il sera également utilisé pour supprimer la vue lorsqu'elle ne sera plus visible..

 lastView = 

Fonction Swap Views

La fonction suivante est très importante car elle gère la direction de la nouvelle transition de vue. C’est aussi un nouveau type de fonction que nous n’avions pas encore utilisé dans la série Corona: une fonction basée sur les paramètres. Ne vous inquiétez pas, les fonctions basées sur les paramètres sont assez simples, surtout si vous connaissez un autre langage de programmation. Nous allons jeter un coup d'oeil:

fonction locale swapViews (actuelle, nouvelle, à partir de)
lastView = actuel
si (de == 'bas') alors
transition.from (nouveau, y = new.height * 2, onComplete = removeLastView)
elseif (de == 'up') puis
transition.from (nouveau, y = -new.height, onComplete = removeLastView)
elseif (de == 'gauche') puis
transition.from (nouveau, x = -nouveau.width * 2, onComplete = removeLastView)
elseif (de == 'right') alors
transition.from (nouveau, x = nouveau.width * 2, onComplete = removeLastView)
fin
fin

Il a trois paramètres:

  • actuel: La vue que vous échangez, la vue active
  • Nouveau: La vue qui sera affichée une fois la transition terminée
  • de: La nouvelle vue sera animée de cette direction à l’écran, les options sont: haut, bas, gauche, droite

Lorsque la transition est terminée, le enleverLastView la fonction sera appelée.


Supprimer la dernière vue

Cette fonction supprime la vue précédemment échangée..

removeLastView = 
fonction removeLastView ()
lastView: removeSelf () - nous utilisons ici la variable lastView
fin

Modifier les variables de vue

Cette ligne déclare certaines variables utilisées dans la fonction suivante.

 modes locaux = 'up', 'down', 'left', 'right' - les quatre modes disponibles pour l'animation local changeView =  - déclare la fonction suivante local modified = false - vérifie si la vue a été échangé

Changer la fonction d'affichage

Cette fonction est exécutée lorsque l'utilisateur appuie sur l'écran..

Il détecte l'écran en cours et appelle la fonction swapViews à l'aide des paramètres déterminés par le modifié variable. Le code crée l'objet Groupe et ajoute la vue correspondante et son écouteur. Il sélectionne également une direction de transition aléatoire parmi mode table.

 function changeView: tapez sur (e) si (changé == faux) alors secondView = display.newGroup () bg = display.newImage ('secondViewBg.png') bouton = display.newImage ('button.png', 40, 223) secondView.insert (secondView, bg) secondView.insert (secondView, bouton) secondView: addEventListener ('tap', changeView) swapViews (defaultView, secondView, modes [math.random (1, 4)]) modifié = true sinon defaultView = display.newImage ('defaultView.png') defaultView: addEventListener ('tap', changeView) swapViews (secondView, defaultView, modes [math.random (1, 4)]) changé = false end end

Auditeur

La ligne suivante ajoute l'auditeur requis à la vue d'écran.

defaultView: addEventListener ('tap', changeView)

Icône

Si tout fonctionne comme prévu, nous sommes presque prêts à créer notre application pour tester les appareils. Encore une chose: notre icône d'application.

En utilisant les graphiques que vous avez créés avant de créer une jolie icône, la taille de l'icône de l'icône iPhone (non rétinienne) est de 57x57 pixels, mais l'iTunes Store utilise une version de 512 x 512 pixels. Il est donc préférable de créer votre icône dans cette taille..

Il n’est pas nécessaire d’avoir les coins arrondis ou l’éblouissement transparent, car cela sera ajouté automatiquement par iTunes et iOS..


Conclusion

Vous disposez désormais d'un moyen pratique et esthétique pour modifier les vues dans vos applications. Essayez-le et ajoutez votre propre touche!

Merci d'avoir lu ce tutoriel. J'espère que vous l'avez trouvé utile!