<h2>Votre Formation vidéo</h2><br/>
Votre formation est décomposée<br/>
en chapitres très clairs de 20 à 30 min. <h2>Des exemples SWF </h2><br/>
Chaque leçon est accompagnée<br/>
du code source avec le fla et les classes. <h2>Votre Suivi personnalisé</h2><br/>
Vous pouvez  me poser toutes<br/>
vos questions sous les cours vidéos.

Sujets sur : actionscript

Cours ActionScript 3 ‘actionscript’

Livre : Applications Android avec Adobe AIR – Développez en ActionScript 3 pour Android

Commentaires fermés sur Livre : Applications Android avec Adobe AIR – Développez en ActionScript 3 pour Android

Ecrit le 15 août par Matthieu
Publié dans le(s) sujet(s) Livres

Résumé du livre : Développez facilement des Applications et des Jeux Flash pour les smartphones Android grâces à vos compétences en ActionScript 3 !

Par Véronique Brossier, 1ère édition, Octobre 2011, 352 pages.

Présentation et utilisation de la technologie Adobe AIR

La 1ère partie de ce livre est consacrée à la présentation de la technologie Adobe AIR. L’Auteure aborde l’installation des outils de développement Adobe comme Adobe Flash CS5.5 et Flash Builder 4.5

Vous apprendrez également comment installer le runtime AIR sur un smartphone Android. Puis, le livre nous explique la signification du Kit de développement AIR. Avec, notamment, les  outils en ligne de commande ADT (Air Developer Tool) et ADL (AIR Debug Launcher).

Ensuite, l’Auteur aborde la création de votre première application : passer un appel, envoyer un sms.

Vous apprendrez comment préparer le smartphone, la création d’un projet, le code à utiliser, sous Adobe Flash CS5.5 et Flash Builder. Et bien, l’Auteur nous montre comment créer le fichier de l’application au format APK pour ensuite l’installer sur un smartphone Android.

Le développement pour Android

La 2ème partie de ce livre aborde toute la partie développement pour Android. C’est à dire, l’installation du kit de développement Android (le SDK), l’installation de ADB (Android Debug Bridge) et la détection du smarpthone.

L’Auteure poursuit avec la gestion des certificats Android : les autorisations, la création.

Tout est expliqué en détails comment par exemple : l’ajout d’une icône à votre application, le choix des différents paramètres, la définition des autorisations de l’application, la signature de l’application avec un certificat et la gestion des versions.

Vous aurez également une multitude d’informations pour vous inscrire en tant que développeur Android et publier des applications sur Google Play.

Vous apprendre même à monétiser vos applications avec les applications payantes et la publicités.

Un chapitre est consacré à la gestion des smartphones et de leur possibilités techniques. C’est à dire : l’évaluation des possibilités du smartphone avec le matériel, les ressources mémoires, le stockage, l’affichage en fonction de la résolution (dimensionnement et positionnement)…

L’auteur nous fournit aussi, plusieurs stratégies de déploiement en fonction du périphérique et du type d’application.

Les fonctionnalités des smartphones Android avec Adobe AIR

Le livre “Applications Android avec Adobe AIR” aborde en détail les fonctionnalités spécifiques aux smartphones.

Avec des exemples précis, l’Auteure nous apprend à utiliser chaque technologie du smartphone.

Le stockage des données

Tout commence avec le stockage des données d’une application sur la carte mémoire. Vous pouvez écrire des informations dans un fichier, le lire ou encore l’effacer.

Vous avez également la possibilité d’utiliser des Local SharedObject : un sorte de cookie en flash.

Puis l’Auteure nous explique comment mettre en oeuvre les bases de données SQLite avec Adobe AIR sous Android.

C’est réellement puissant pour stocker toutes les informations de votre application ou jeu. Vous pouvez lire ses informations plus tard ou alors synchroniser ces informations avec une base de données sur internet (partager des scores, lancer des défis…).

La technologie multitouch

Puis le livre “Applications Android avec Adobe AIR” détaille la technologie multitouch de fond en comble. Comme la mise en pratique du glissé-déposé, du click, des mouvements de rotation, de zoom, panoramique, d’appui et d’appui bref, le mouvement de double appui…

Vous saurez pour gérer la technologie multitouch sur Android avec Adobe AIR.

Vient ensuite l’accéléromètre, pour déplacer des éléments de votre application en fonction de la position du smartphone. A travers la création d’une application, vous apprendrez à améliorer les possibilités de l’accéléromètre en utilisant des filtres passe-haut et passe-bas.

L’appareil photo natif du smartphone

Puis l’Auteur passe à l’utilisation de l’appareil photo natif du smartphone. Non seulement vous saurez prendre des photos, les retravailler, visualiser les photos du smartphone mais aussi les envoyer sur votre site internet ou encore utiliser les données EXIF (comme les coordonnées GPS et le lieu de prise de la photo).

Le GPS du smartphone, combiné à la géolocalisation

Vous découvrirez l’activation du GPS du smartphone, combiné à la géolocalisation. Le livre vous donne des exemples pour afficher l’adresse précise du smartphone sur une carte comme Google Maps, Yahoo Maps. Vous aurez le choix entre l’utilisation de cartes statiques ou dynamiques (chargement à la volée) ainsi que plusieurs propriétés propres à la géolocalisation.

Vous apprendrez également comment utiliser le réseau 3G, le réseau Wifi, le géocodage inversé (obtenir une adresse à partir de la longitude et la latitude du GPS)…

La gestion de l’audio

L’Auteure donne un cours précis sur la gestion de l’audio avec un smartphone Android. Vous apprendrez l’utilisation du microphone pour enregistrer des sons, la voie de l’utilisateur. Ou encore lire des fichiers audio, des enregistrements, utiliser des fichiers externes.

Ce n’est pas tout, ce chapitre complet sur l’audio vous fournit des ressources sur les paramètres et les différents codecs audio, travailler avec les sons. Vous découvrirez la création d’un player audio avec l’affichage de la progression, la lecture, pause et l’arrêt d’un son, le contrôle du volume, la balance, le spectre sonore, l’utilisation des balises ID3…

La gestion de la vidéo

Un chapitre entier est aussi consacré à la vidéo sous Android avec Adobe AIR. C’est à dire, comment préparer vos vidéos avec les codecs, le codage et décodage, l’accélération matérielle, le débit, la cadence des images, la résolution et les performances.

L’Auteure explique la lecture des vidéos avec des vidéos intégrées, des vidéos externes et des vidéos progressives.

Ce chapitre aborde également comment contrôler une vidéo (lecture, stop, pause, mémoire tampon) ainsi que la lecture des vidéos provenant de YouTube.

Et pour terminer, le livre “Applications Android avec Adobe AIR” met en pratique, travers des exemples, la capture de la vidéo, avec en plus, des liens vers de la documentation et de nombreux tutoriels.

La fonctionnalité StageWebView

L’Auteure passe ensuite à la fonctionnalité StageWebView, qui permet d’afficher et d’interagir avec du contenu HTML riche. Et cela directement depuis votre application Android avec Adobe AIR.

Le livre “Applications Android avec Adobe AIR” passe en revue l’insertion de publicités de type “AdMob”, en utilisant le javascript. Il y aussi des détails sur les réseaux sociaux et l’authentification sur Facebook, Twitter via StageWebView.

L’accélération matérielle

Et pour terminer sur les fonctionnalités spécifiques aux smartphones, il y a un chapitre dédié à l’accélération matérielle.

Plusieurs définitions et informations sont données sur le rendu des éléments sur l’écran, les calculs, le rendu avec le GPU sous Android et l’utilisation de certaines propriétés pour améliorer les performances de vos applications.

Des exemples sont fournis pour optimiser votre liste d’affichage, la consommation mémoire, une structure en arbre, la relation entre les noeuds, le Stage3D, les MovieClip, l’Interactivité. L’Auteure détaille différentes techniques pour le rendu, la mémoire des textures et leurs tailles sur l’iPad et l’iPhone, les Objets 2.5D avec l’utilisation des matrices.

La Programmation Avancée avec la création d’une application complète

RTMFP, le P2P

A travers plusieurs chapitres, l’Auteure passe en détails des sujets beaucoup plus avancés comme RTMFP, le P2P sur un réseau local, le P2P sur un réseau distant avec une messagerie instantanée simple, la multidiffusion en continu, le flux continu…

Arduino et physical computing

L’Auteure aborde, pour les connaisseurs, le sujet Arduino et physical computing : l’interaction d’Adobe AIR avec une plateforme électronique, des capteurs… Cet environnement établit un lien entre des ordinateurs (via Adobe AIR) et le monde physique (via des capteurs, un microcontrôleur).

Architecture et création d’une application de navigation

Un chapitre est consacrée à l’architecture et la création d’une application de la navigation. Vous apprendrez à utiliser des vues, les masquer, les afficher, en fonction des interfaces de votre application, ajouter également un fil d’ariane…

Développement pas à pas d’une application complète

A travers une méthode étape par étape, l’Auteure explique le développement d’un projet “Album Photo” composé de 2 applications.

La majorité des fonctionnalités détaillées précédemment sont mises en pratiques dans ce projet.

C’est à dire, que vous allez utiliser une architecture solide avec une conception optimisée, comment gérer les différents flux d’informations dans vos applications, la création des vues, les différentes autorisations à fournir (internet, camera, audio,…).

Vous aurez accès au code source complet et commenté pour vous aider à comprendre la création et l’implémentation des différentes technologies propres à Adobe AIR.

Ce projet implémente des fonctionnalités de navigation et de défilement, la prise et l’envoie de photos, l’ajout de commentaires audio, la géolocalisation inversée, l’utilisation d’une base SQLite…

Ces applications couvrent plusieurs technologies disponibles sur Android avec Adobe AIR, vous pouvez même l’améliorer avec des fonctionnalités supplémentaires. Du coup, vous avez toutes les ressources nécessaires pour créer vos propres applications AIR pour Android.

Les pratiques efficaces pour la gestion des ressources et le développement

Les derniers chapitres fournissent une multitude de conseils pour apprendre à gérer efficacement les ressources et le développement d’applications Adobe AIR.

L’Auteure nous donne plusieurs conseils sur l‘optimisation du code, des liens vers de la documentation de qualité, les différentes communautés existantes…

Ces chapitres abordent le concept des frames, la gestion de la mémoire avec la création des objets, leur suppression et le garbage collector (ou le ramasse miettes).

Ce livre explique également la gestion des évènements avec leur propagation, les écouteurs, les évènements personnalisés…

Il y a également plusieurs outils de diagnostics conseillés pour surveiller et améliorer les performances de ses applications.

Critique d’Applications Android avec Adobe AIR

Ce livre remplit parfaitement son objectif !

A travers plusieurs chapitres très détaillés et illustrés d’exemples, vous apprendrez à utiliser l’ensemble des fonctionnalités spécifiques aux smartphones sous Android et cela avec la technologie Adobe AIR.

Il y a également plusieurs précieux conseils sur l’optimisation des applications sous Android : avec la gestion de la batterie, des ressources mémoires et l’utilisation de la puissance du GPU.

Toutefois ce livre possède quelques points faibles, je trouve qu’il n’aborde pas assez en détail l’importance de l’utilisation et la création d’une architecture solide et évolutive pour le développement d’une application (flash, Adobe AIR ou autre).

Pour moi, l’architecture d’une application reste le pilier d’un développement réussi !

Si vous souhaitez développer des applications et jeux avec la technologie Adobe AIR sur les smartphones Android, ce livre est une mine d’informations pertinentes.

Je vous conseille de vous le procurer au plus vite !

Commander sur Amazon le Livre Applications Android avec Adobe AIR – Développez en ActionScript 3 pour Android.

Adobe AIR : créer un Jeu Flash pour Android – installation des logiciels

14 questions

Ecrit le 5 janvier par Matthieu
Publié dans le(s) sujet(s) Android

Le cours AS3 de cette semaine vous propose de commencer à développer vos premiers jeux flash pour les smartphones et tablettes Android.

Tout cela est possible avec la technologie Adobe AIR et c’est toujours de la programmation ActionScript 3 !

Voici ce que vous allez apprendre dans ce Cours ActionScript :

  • Où télécharger et comment installer tous les logiciels nécessaires pour la compilation Adobe AIR et la publication sur Android Market.
  • Comment créer un certificat valide pour publier vos applications Adobe AIR sur Android Market.
  • La technique pour tester vos applications flash sur votre PC grâce à l’émulateur Android.
  • Et comment installer et configurer l’émulateur Android.
  • La solution pour installer Adobe AIR sur l’émulateur Android.
  • Toutes les stratégies pour configurer et utiliser l’Éditeur ActionScript FDT afin de compiler rapidement vos applications Adobe AIR.
  • Et surtout la technique pour tester directement après la compilation votre application Adobe AIR : le tout automatiquement !

Cette formation AS3 vous permettra de commencer à utiliser Adobe AIR pour concevoir vos jeux flash et les publier sur Android Market.

Toute une série de cours AS3 concernant la programmation d‘application Adobe AIR et Android est prévue 😉

Adobe AIR et Android

[spoiler]

Dans ce cours AS3 nous allons voir comment créer des applications flash en AS3 mais pour la plate-forme Android c’est-à-dire en utilisant adobe air.

 

Donc nous allons voir la configuration et l’installation de tous les logiciels nécessaires nous avons besoin du JDK java plateforme en standard édition du SDK Android, où nous allons configurer l’émulateur de Smartphones pour tester nos applications Adobe air directement sur notre PC avant de les envoyer sur l’android Market et ensuite nous allons créer un certificat pour publier sur Android avec Adobe air toujours puis nous passerons à la configuration de FDT.

 

Passons tout de suite après dans un premier temps il vous faut donc vous rendre à cette adresse oracle.com etc. et télécharger Java plate-forme standard édition donc c’est gratuit.

 

Il suffit de cliquer sur download et en suite vous prenez la version qui vous convient en fonction de quel système d’exploitation vous êtes linux à 32 bits 64 bits, Windows 32 bits 64 bits, 64 bits sous Windows ça fonctionne très bien pour créer des applications Adobe air pour Android.

 

C’est celle que j’utilise la version 64 bits puis à la fin du téléchargement vous installez le JDK de java tout simplement.

Ensuite il vous reste à télécharger le SDK de Android qui est lui aussi gratuit, moi j’ai pris la version instal air 6.exe, qui fait à peu près 30 méga, vous la téléchargez, vous l’installez.

 

Il y a la version Mac, la version Linux ensuite au niveau de téléchargement des logiciels nous aurons besoin du SDK de Adobe air c’est pour l’émulateur Android donc il suffit de le télécharger sur cette adresse Adobe.com air.html de cliquer ici et de télécharger soit la version Mac OS X soit la version Windows.

Le SDK 2 air n’est pas obligatoire, je mettrai sous cette vidéo en téléchargement le runtime 2 air pour que vous puissiez l’installer sur votre émulateur donc les développeurs qui sont sous Linux ne vous inquiétez pas y’aura tout ce qu’il faut sous la vidéo, le SDK 2 air n’est pas indispensable une fois que vous avez télécharger tout ça il faut effectuer un petit peu de configuration.

 

Il faut le lancer donc vous lancez Android SDK manager dans votre menu démarrer, au menu classique sous Linux, Mac je connais et vous choisissez les paquets installés donc sur votre écran,sur l’écran de la vidéo voyez tous les paquets que j’ai installés donc la dernière version d’android, j’ai installée les outils et moi j’ai installé Android 2.3.3 parce que mon téléphone portable utilise Android 2.3.4.

 

Donc ça me permet également de les tester en direct sur mon Smartphone Android et c’est tout ce que j’ai installé, si j’ai également installé ça le support paquage Google USB driver paquage, le Market licensing paquage et les Web drivers une fois vous avez tous sélectionnés vous installez vous cliquez sur le bouton install paquage et il vous demandera de confirmer vous dites oui et vous attendez y’a qu’à attendre y’a juste ça à faire, c’est très rapide très simple.

 

Ensuite nous allons lancer l’émulateur une fois que c’est installé il faut lancer l’émulateur donc c’est Android virtual Device manager. Vous en créez autant que vous voulez moi j’ai créé deux émulateurs pour ma version de Android de mon Smartphone et un autre pour la dernière version de Android, vous faite édit ou new, vous sélectionnez la version d’Android la taille de la SDcarte 00 méga ça suffit largement copie des grandes buld in HVGA et c’est tout ce qu’il y a à faire.

 

Puis vous cliquer sur Start et l’émulateur démarre je vous montre la configuration pour Android 4.03.

Toujours 500 méga de mémoire, HVGA et voilà une fois que vous avez votre émulateur qui est démarré en passant avec la souris, vous pouvez changer d’écran tout simplement c’est pas l’idéal je dois dire, mais bon, sinon vous cliquez sur les points ici ça fonctionne tout aussi bien.

 

Vous avez accès à différentes touches appareil photo, caméra, le menu pour voir un petit peu toutes les applications qu’il y a d’installées.

 

Ensuite ou peut revenir à l’écran.

Qu’est ce qu’il y a d’autres ? vous pouvez accéder directement à toutes les applications ici très simplement. Voilà l’émulateur ce sera très très pratique pour tester nos applications après donc avant de pouvoir commencer à développer sous FDT parce que ça c’est le but de développer sous FDT.

 

Il nous reste à créer un certificat, ce certificat permettra de compiler votre fichier SWF et d’en faire un fichier APK pour Android et vous pourrez publier votre application sur la plate-forme Android.

 

Pour vous simplifier la vie j’ai fais un fichier .bat.

Le fichier .bat pour créer un certificat.

Qu’est ce qu’il contient et ben il suffit d’appeler ADT, donc c’est un programme qui se trouve dans le répertoire de Flex.

Dans le répertoire de Flex, moi il est installé ici, vous avez le logiciel ADT qui fonctionne en ligne de commande.

 

Tout simplement pour créer votre certificat avec le fichier.bat suffit, vous avez juste à modifier.

CN c’est votre nom, le nom de votre entreprise le nom de l’organisation, le pays, la période de validité donc c’est en nombre d’années j’ai mis en 33 ans le type de cryptage vous pouvait mettre 1024 RSA j’ai mis 2048 RSA le nom du fichier du cryptage de la clé à créer et le mot de passe que vous devez retenir.

 

1fois que ça c’est fait il vous suffit de lancer le fichier .bat qui s’appelle creat certificat qui est ici. Vous cliquez dessus y a 2-3 trucs, vous appuyez ça prend un petit peu de temps et voilà le fichier nouveau certificat.p12 est créé avec une période de validité de 33 ans comme ça vous n’aurez aucun problème.

 

Après ce fichier vous le prenez vous le stockez ou vous voulez sur votre disque dur nous allons nous en servir dans FDT.

 

Qu’est ce qu’il y a d’autre à faire maintenant ? il nous reste à installer Adobe air sur notre émulateur de Smartphones parce que ici, quand vous le démarrez à la base il y a pas AS3 facile enfin ça c’est l’application que j’ai faite et si on regarde, l’application Adobe air n’est pas installée et on n’a pas de lien pour accéder directement à Android Market.

 

Pour ce faire j’ai créé également un petit fichier .bat tout simple il suffit d’appeler ADB.Device. ça nous permet de savoir si notre émulateur est bien connecté en USB finalement sur notre système et d’installer à ADB install runtime.apk. pourquoi on a pris le SDK de Adobe air ?

 

Pour pouvoir utiliser ADB et installer à Adobe air.apk sur l’émulateur Android c’est uniquement pour ça donc ce fichier je le mettrais en téléchargement sous ce cours vidéo comme ça vous aurez pas forcément besoin de télécharger Adobe air ce sera beaucoup plus simple parce que ADB existe également non il n’existe pas ADB donc voilà.

 

Il suffit d’aller dans ce répertoire, je l’ai installé ici le SDK Flex puis sur Android. Bin vous trouverez donc l’exécutable ADB.exe que vous appelez soit avec le fichier.bat soit en ligne de commande ça c’est vous qui choisissez.

 

Il fait 7 méga à peu près le runtime d’Adobe air pour Android, et voici les lignes de commandes que j’ai tapées donc à ADB.Device. Comme je vous ai montrer ça met émulator 554, il est connecté et on le voit. Il s’appelle bien comme ça ensuit et ADB install.apk.

 

Et là faut attendre un petit moment c’est un petit peu long, on croit que ça fonctionne pas donc faut patienter une ou deux minutes, le fichier APK et transféré sur l’émulateur Smartphone et il est installé. Vous avez après « success » comme quoi ça a réussi, l’installation s’est bien passé et de ce fait vous le voyez tout de suite et ensuite vous aurez Adobe air qui apparaît ici.

 

Maintenant là à peu près tout ce qui a configuré et terminé maintenant nous allons passer à FDT , je vous montre très rapidement.

 

Enfin l’installation la préparation de votre environnement de travail pour créer des jeux flash sous Android.

Il y aura un deuxième cours AS3 qui sera totalement dédié à la programmation à la publication sur l’Android Market etc.

 

Je vais aller un peu plus vite. Vous lancez FDT comme d’habitude.

Vous faites new project et là vous choisissez mobile et AS3.

Vous donner un nom à votre projet vous choisissez la plate-forme Android IOS on verra plus tard. Vous sélectionnez votre version le nom et vous faites finish c’est à dire vous avez un projet comme ça après.

 

Moi je lis le fichier XML de actionscriptfacile et je fais un petit affichage c’est vraiment très simple pour cet exemple.

Comme d’habitude vous faites run configurations vous allez dans FDT mobile applications Android et vous donnez un nom. Vous sélectionnez le mail la plate-forme c’est Google Android vous cochez on Device ça permet qu’à chaque fois que vous allez lancer la compilation, votre application Android sera automatiquement lancée sur l’émulateur

C’est très pratique ça permet de faire un test en direct, la compilation les paramètres de compilation j’ai pris des paramètres classiques avec Adobe air 2.6 le SDK pour la version flash 10.2 donc c’est Flex 4.5.1

 

j’ai mis framerate à 40 j’ai rien touché d’autre et là il n’y a rien à faire donc après vous venez vous cliquer sur configure project property donc ça se sera généré automatiquement y’a pas besoin de le faire là dans les propriétés vous donner un nom à votre application, un nom aux fichiers et un ID le numéro de version, l’option full screen et orientation et les permissions que vous allez demander à l’utilisateur de l’application AS3 facile, qui est seulement un flux RSS

 

Elle a uniquement besoin d’une permission d’accéder à Internet donc j’ai coché juste ça.

Pour la signature il suffit d’aller chercher le certificat que vous avez créé il y a un instant.

 

De mettre le mot de passe que vous avez mis dans le certificat au moment de sa création donc le même mot de passe, c’est très important de ne pas l’oublier.

 

Vous configurez les icônes pour l’application d’ Android/Android ensuite le contenu, le fichier XML qui va être généré automatiquement, le fichier SWF qui va être généré au moment de la compilation et les trois logos que vous renseigner les extensions là y en a pas besoin pour l’instant.

 

Ici vous sélectionnez le répertoire d’enregistrement de votre fichier APK.

Et là ça installe et ça lance l’application sur tous les appareils connectés donc sur votre émulateur par exemple et vous n’avez plus qu’à cliquer sur exporte application en dessous.

 

Vous voyez que ça lance la compilation tout simplement le fichier est créé voilà c’est terminé il a était envoyé sur l’émulateur.

 

Si on regarde l’émulateur, l’application flash vient de se lancer, l’application Android s’est donc lancée avec le chargement des derniers articles.

 

Et si vous cliquez bah vous pouvez cliquer sur le dernier article ça l’affiche, ça renvoie directement sur le lien du site.

Donc c’est vraiment très pratique très rapide pour tester avec l’émulateur votre application Android si vous voulez pas vous embêter il y a une autre solution.

 

Il suffit de créer un SWF.

 

En fait une application Android avec Adobe air, c’est juste un SWF qui est compilé avec des paramètres du fichier XML dans un fichier APK.

 

Donc vous créez vos SWF, vous mettez une taille pour mobile.

Et vous faites un petit run.

C’est-à-dire que ça vous lance l’application.

Et c’est exactement ce qui apparaîtra dans votre Smartphone.

 

Voilà un petit peu, dans le prochain cours AS3, nous verrons comment Programmé le multi touche etc., notre application Android et la publier sur le Android Market.

 

Après si on regarde sur le Android Market ça se passe comme ça.

 

Vous avez donc bah vous configurez votre application avec les copies d’écran les logos, le langage les fichiers APK que vous envoyez et après.

 

Vous cliquez sur enregistrer publier et ensuite votre application apparaît sur l’ Android Market donc on la voit ici.

 

Par exemple si on revient sur toutes les applications et qu’on fait une recherche AS3 nous allons tomber dessus voilà.

 

Vous pouvez cliquer sur installer ou ici pour avoir plus de détails, vous pouvez même rajouter une vidéo.

Et donc votre application Android faite avec flash en actionscript3 est disponible pour tout le monde.

 

Sous cette vidéo je vous ai mis le fichier zip qui contient les deux fichier.bat pour à la fois:

créer le certificat et

envoyer installer Adobe air sous votre émulateur Android.

 

Dans le prochain cours nous verrons pour créer notre première application.

Donc en programmation actionscript, la publier sur le Android Market.

 

Et ensuite nous verrons comment par exemple un jeu flash qui tourne sur le Web, vous pouvez rapidement le convertir en fichier APK pour le publier sur la plate-forme Android.

 

En attendant je vous dis à très bientôt pour le prochain cours actionscripfacile.com

[/spoiler]

Version démonstration

Ci-dessous le lien vers l’application AS3 Facile sur Android Market !

Installer AS3 Facile (Adobe AIR sur Android Market).

Télécharger les fichiers du cours AS3

Vous trouverez les fichiers .bat pour vous simplifier :

  • La création des certificats valides sur Android Market.
  • L’installation Adobe AIR sur l’émulateur Android.
  • Le Runtime.apk pour installer Adobe AIR sur l’émulateur Android.

Télécharger “Android Installation scripts .bat” Android-installation-scripts-bat.zip – Téléchargé 501 fois – 7 MB

Téléchargez le JDK Java Platform Standard Edition.

Téléchargez le SDK Android.

Téléchargez le SDK Adobe AIR.

Téléchargez le Open Source Flex SDK.

Consultez la liste des appareils (smartphones et tablettes) compatibles avec Adobe AIR.

Publiez vos applications Adobe AIR sur Android Market.

Et vous, développez-vous des applications Adobe AIR pour la plateforme Android ?

Avez-vous déjà publié des jeux Adobe AIR ?

Postez-les dans les commentaires ci-dessous !

Utiliser des fichiers SVG dans Flash avec ActionScript 3

Commentaires fermés sur Utiliser des fichiers SVG dans Flash avec ActionScript 3

Ecrit le 3 janvier par Matthieu
Publié dans le(s) sujet(s) ActionScript 3

Le cours AS3 de cette semaine vous propose de découvrir une technique pour utiliser les fichiers SVG dans flash.

C’est à dire , avec du code ActionScript, utilisé un fichier SVG pour de l’affichage (bannière, image, symbole…) dans votre application flash.

Voici ce que vous allez apprendre dans ce Cours ActionScript :

  • Comment utiliser un fichier SVG.
  • Comment modifier un fichier SVG, un fichier SVG est à la base un fichier XML.
  • La technique pour afficher un fichier SVG dans du Flash.
  • Quelles sont les possibilités d’actions sur un fichier SVG, une fois chargé dans flash.

Cette formation AS3 vous permettra d’être capable d’utiliser des fichiers SVG directement dans Flash.

SVG Renderer

[spoiler]Bonjour à tous ici Matthieu pour actionscript-facile.com

Nous allons voir une librairie SVG runderer qui nous permet d’utiliser des fichiers SVG dans flash avec l’actionscript 3.

Tout d’abord qu’est-ce qu’un fichier SVG et à quoi ça sert ?

Un fichier SVG c’est comme un fichier XML.
Dans ce fichier XML, il y a tout un tas de balises et de données qui permet d’avoir toutes les informations pour reconstruire une image.

Le fichier SVG est supporté par tous les navigateurs récents Google Chrome, Firefox Internet Explorer.

Il est très utile pour créer à la volée des images.
C’est à dire que dans votre flash, vous pouvez avoir un jeu flash. En fonction des actions de l’utilisateur, vous avez un paysage ou un symbole, je sais pas, une étoile, une porte typique.
En fonction des actions du joueur, vous pouvez carrément créer à la volée ce graphisme tout simplement en modifiant un fichier XML.
C’est un peu plus compliqué que ça dans la pratique pour créer un fichier SVG mais dans l’idée c’est ça.

Passons tout de suite à la pratique pour voir comment le flash interprète un fichier SVG et fini par l’afficher.

Donc ça c’est le contenu d’un fichier SVG que j’ai créé.
C’est le logos AS3 facile tout simplement.

Vous remarquez des balises comme un fichier XML donc rien de bien sorcier et après il y a tout un tas d’informations qui permet de construire l’image.
Il fait presque 2mega ce fichier voilà à quoi ça ressemble.

Ensuite le code.
Nous allons donc utiliser une librairie qui s’appelle SVG runderer que j’ai trouvés sur Google code.
Je vous donnerais le lien en direct à la fin de cette vidéo.

On part comme d’habitude de notre classe main qui étend Sprite.

Ca, c’est pour la librairie SVG, de l’initialiser tout simplement.
C’est l’initialisation de la librairie ensuite on construit notre UI (interface utilisateur).
Je mets juste un petit texte de chargement en cours du fichier SVG.
Vu qu’il est assez long, c’est pour informer l’utilisateur.

Et j’utilise la classe url loader avec des événements complets onProgress, onError.
Puis je lance le chargement de mon image SVG donc c’est la bannière AS3 facile comme vous je vous le disais.

Une fois que ce chargement est terminé c’est là où je crée et j’utilise la classe SVG document.

J’écoute des événements. Si vous regardez la signature de cette classe plusieurs événements sont diffusés.
Il y a un événement envoyé lorsque :
un élément est supprimé
un élément est ajouté
le rendu est effectué
l’analyse est terminée
le passage du fichier XML au fichier SVG
l’analyse du fichier XML au SVG commence.

Tous ces événements sont diffusés et ensuite nous avons tout un tas de méthodes disponibles.

Cette classe étend SVG.
Ce qui nous permet d’avoir des méthodes pour modifier la taille du fichier SVG, donc sa hauteur, ses positions en X et en Y, sa largeur.

Il y a plusieurs méthodes qui peuvent nous être utiles.
On créé une nouvelle instance de la classe SVG document.
On écoute l’événement parseComplete pour modifier notre fichier SVG une fois qu’il a été chargé et affiché sur la scène.

Donc on parse notre fichier SVG, on le récupère comme ça .curenttarget.data c’est-à-dire il provient de notre URL loadeur.

Ici on a chargé notre fichier SVG.
Et là on le parse et on l’ajoute sur la scène comme un display objet.
Quand l’analyse du fichier est terminée donc du fichier XML au SVG, il nous reste plus que – bon on change le texte – ça c’est le pourcentage de chargement en cours création de l’affichage, déplacement du fichier SVG, on le déplace.

Attention c’est pas les numbers si on garde ces getter Setters, c’est un string qui l’attend donc on lui transmet un String pour changer la position de notre fichier SVG.

Je vais le mettre en position 63 63 et on masque le texte.

Après il nous reste plus qu’à lancer la compilation tout simplement.

Le fichier SVG se charge.
Il va se déplacer.
Notre fichier SVG a été construit.
Si on regarde à partir d’un fichier XML, finalement on va l’ouvrir ici avec l’éditeur.
Donc c’est un fichier XML tout bête, et bien derrière on obtient une image qui est construite directement.

C’est un package vraiment très simple ce Framework, très facile à utiliser parce que à créer ça doit être assez compliqué.

Je m’y connais pas assez donc très simple à utiliser ça vous permettra, vous voyez ce fichier fait une taille assez conséquente.
Il fait un poids de 1méga 1,76 méga donc c’est dans des cas très particulier.

Dans ce cas précis, il vaut mieux utiliser une image PNG, du vectoriel avec un fichier SWF.

Le SVG permet de créer à la volée dynamiquement des graphismes pour un jeu flash, pour une application flash ça peut être sympa, le concept peut être sympa.

Voilà, ce cours est très simple.
Ensuite comme d’habitude, sous ses vidéos vous trouverez le code source complet de cette application SVG runderer.

Est-ce que vous vous avez déjà utilisés des fichier SVG dans vos applications flash ?

Est ce que vous les créez à la volée, vos images, vos paysage de fonds, d’application flash, grâce aux fichiers SVG ?

Dites moi cela dans les commentaires, justes sous ses vidéos.

Je vous dis à très bientôt pour le prochain cours actionscript-facile.com[/spoiler]

Version démonstration

Et voici l’exemple d’utilisation d’un fichier SVG dans flash !

https://www.actionscript-facile.com/wp-content/uploads/2011/12/SVGRenderer.swf

Télécharger le code source du cours AS3

Vous trouverez l’ensemble du code source commenté pour vous aider.

Télécharger “Exemple SVG Renderer” exemple-svg-renderer.zip – Téléchargé 143 fois – 1 MB

Télécharger le code source des classes SVG Renderer.

Et vous, avez-vous déjà utilisé des fichiers SVG dans vos applications flash ?

Est ce que vous générez à la volée les éléments graphiques dans votre application flash ? (grâce à l’utilisation des fichiers SVG)

Postez un lien vers vos applications flash dans les commentaires ci-dessous !

 

Chronique du Livre : ActionScript 3 – Développez des jeux en Flash

Commentaires fermés sur Chronique du Livre : ActionScript 3 – Développez des jeux en Flash

Ecrit le 29 décembre par Matthieu
Publié dans le(s) sujet(s) Livres

ActionScript 3 - Développez des jeux en Flash

 

ActionScript 3 - Développez des jeux en Flash

Résumé du livre : Apprenez à développez des Jeux Flash étapes par étapes grâce à des exemples simples et précis !

Par Henri Blum, 2ème édition, Juillet 2011, 511 pages.

La 1ère partie du livre est une mise en bouche pour le développeur !

L’auteur commence par une introduction présentant les différents types de jeu avec des exemples et une définition précise. Ensuite viens plusieurs chapitres sur l’organisation, le game design, les méthodes agiles, l’algorithmie.

Puis l’auteur aborde les bases de la programmation ActionScript et l’utilisation d’Adobe Flash CS5 avec la création d’un scénario, les propriétés d’un DisplayObject, les portées des variables…

Une partie très complète qui englobe également la programmation orientée objet (POO) et les évènements.

Chaque concept est toujours expliqué à l’aide d’un exemple et d’un fichier fla en code source.
Pour les développeurs débutants, il y a même plusieurs paragraphes permettant de les aider à mieux appréhender les concepts essentiels de flash.

La 2ème partie du livre rentre dans le vif du sujet : le développement des jeux avec Flash.

Il y a carrément un chapitre complet pour chaque type de jeux flash.

L’auteur commence par décrire les étapes du développement d’un Casual Game. Toutes les stratégies utilisées sont expliquées en détail comme le déplacement de la raquette, le déplacement d’une balle.

Mais aussi dans le cas d’un casse briques, l’auteur nous dévoile comment effectuer des textes de collision, les techniques de chargements des niveaux, les fichiers de configuration, l’enregistrement des données…

Tout est fourni, le contenu des fichiers xml, la structure de la base de données.

A la fin de chaque chapitre, vous avez le code source complet du jeu, pour à votre tour, le personnaliser, l’utiliser, vous amuser !

Ensuite, l’auteur vous explique le développement d’un jeu d’aventure type RPG. Avec un méthode identique pour chaque chapitre, vous serez guidé pas à pas pendant la création de chaque étape du jeu.

Vous apprendrez la création et le déplacement, ainsi que l’animation du personnage principal. L’auteur vous montre sa solution pour créer et déplacer le décor.

Mais également comment gérer les monstres et l’intelligence artificielle, puis une technique pour coder les interactions avec le joueur. Et encore bien d’autres concepts expliqués par l’auteur, qui serait beaucoup trop long à résumer dans cette courte critique.

Le chapitre suivant concerne la création d’un Shoot themp up. L’auteur explique la gestion du scrolling multiplan, le starfield horizontal et la création d’arme comme les missiles à tête chercheuse !

L’auteur enchaine avec la création d’un jeu de courses automobiles. Ce chapitre fournit une méthode pour créer un jeu à deux. Puis vient la création de l’intelligence artificielle et des autres pilotes. Une partie complète est consacrée à la création et au défilement des circuits (les décors), en utilisant le bruit Perlin et la génération de texture.

Puis vient le chapitre sur les jeux en 3D avec la présentation des possibilités prévues dans Flash Player 10. L’auteur présente les jeux développés en “fausse 3D” avec un exemple détaillé. Puis vient l’utilisation des librairies 3D comme Away3D. Un exemple détaille les bases pour utiliser Away3D dans ses jeux flash.

Il y a également plusieurs paragraphes avec toujours des exemples à l’appui pour la création de jeux en 3D isométriques (création des décors), les wargames et la gestion des tuiles hexagonales.

Et la 2ème partie se termine avec la création d’un jeu de plateforme (comme Mario). L’auteur donne des solutions techniques pour la gestion de la gravité et des personnages.

La 3ème partie concerne la distribution des jeux en réseau

Le livre contient plusieurs chapitres sur les sockets binaires et socket xml. Il y a également des explications sur l’utilisation du flash remoting et les serveurs d’échange de données (Flash Média Serveur).

Puis, l’auteur nous apprend comment gérer correctement les domaines de sécurité et quels types de données échanger.

De plus, il y a tout un chapitre entièrement dédié aux téléphones portables.

Avec les jeux flash portés sur les OS iPhone et Android par l’intermédiaire de la technologie AIR.

La 4ème partie sur l’optimisation du code ActionScript

Plusieurs chapitres sont dédiés à l’optimisation de vos jeux flash.

L’auteur détaille comment adapter le framerate de votre application, quand utiliser Timer ou EnterFrame, les simplifications mathématiques à appliquer.

Il y a des exemples pour détailler les différences de performances et consommation mémoire entre les images vectorielles et les bitmap.

Il y a également des explications sur la réutilisation des objets, les boucles et le texte dynamique.

Ainsi que des annexes regroupant tout un ensemble de liens concernant la programmation ActionScript et la création de jeux flash.

Conclusion

J’ai beaucoup apprécié ce livre : Développez des jeux en Flash. Les explications sont claires et détaillées, plusieurs types de jeux sont expliqués dans le détail et surtout avec le code source.

Ce livre est extrêmement complet pour appréhender le développement de jeux flash.

Il permet de poser des bases solides, avec des notions simples d’algorithmes mathématiques.

Après, il faut savoir que ces nouvelles connaissances acquises devront être complétées par l’apprentissage des design pattern, l’utilisation d’un framework as3 (Pixlib, PureMVC ou autre) et de la pratique.

Petit à petit, vous serez capable de créer des jeux flash de plus en plus complexes.

Je conseille ce livre surtout aux débutants en ActionScript, cela vous aidera concevoir vos premiers jeux très simplement en vous amusant.

Commander ce Livre ActionScript 3

Commander sur Amazon le Livre ActionScript 3 : Développez des jeux en Flash.

Sommaire

Partie 1 : Programmation

Chapitre 1 : Introduction

  1. Introduction
  2. Casualgame et advergame
  3. Serious game et e-learning
  4. Jeux multijoueurs et MMORPG

Chapitre 2 : Game design : agilité et modestie

  1. Introduction
  2. Savoir s’organiser
  3. Game design et game doc
  4. POO, méthode agile et tuti quanti

Chapitre 3 : Apprendre la programmation avec Flash

  1. Introduction
  2. La programmation : qu’est-ce que c’est ?
  3. Algorithmique
  4. Langage de programmation
  5. ActionScript

Partie 2 : Développement des jeux avec Flash

Chapitre 4 : Développement d’un Casual Game

  1. Description et étapes de développement
  2. Déplacement de la raquette
  3. Déplacement de la balle
  4. Tests de collision
  5. Techniques de chargement des niveaux
  6. Distribution d’un jeu
  7. Sauvegardes d’un jeu
  8. Finalisation

Chapitre 5 : Développement d’un jeu d’aventure RPG

  1. Description et étapes de développement
  2. Création et déplacement du personnage principal
  3. Animation du personnage
  4. Actions et combinaisons de touches
  5. Création et déplacement du décor
  6. Monstres et intelligence artificielle
  7. Propriétés du personnage
  8. Interactions du joueur
  9. GAME-OVER
  10. Armes et projectiles
  11. Objets et items
  12. Transformation dynamique du décor
  13. Nuit et obscurité
  14. Finalisation

Chapitre 6 : Shoot them up

  1. Introduction
  2. Scrolling multiplan
  3. Starfield horizontal
  4. Le mille-feuilles du shoot them up.
  5. Missile à tête chercheuse

Chapitre 7 : Courses automobiles

  1. Introduction
  2. Jeu à deux
  3. Intelligence et pilotage
  4. Mode 7
  5. Bruit Perlin et génération de texture
  6. Effets spéciaux

Chapitre 8 : Jeux en 3D

  1. Introduction
  2. Flash Player 10 “Astro” et la 3D
  3. Bases de la 3D
  4. 3D précalculée
  5. Librairies 3D
  6. Vue 3D isométrique

Chapitre 9 : Wargames et tuiles hexagonales

  1. Wargames et tuiles hexagonales

Chapitre 10 : Jeux de plates-formes

  1. Introduction
  2. Gravité et théorie

Partie 3 : Distribution

Chapitre 11 : Jeux en réseau

  1. Introduction
  2. Socket XML et socket binaire
  3. Serveurs d’échange de données
  4. Flash Remoting
  5. Domaine de sécurité
  6. Quelles données échanger ?

Chapitre 12 : Téléphone portable

  1. Introduction
  2. Plate-forme mobile
  3. Le “cas” iPhone

Partie 4 : Optimisation

Chapitre 13 : Comment optimiser votre code

  1. Introduction
  2. Nombre réel d’images par seconde (Framerate)
  3. Timer ou EnterFrame ?
  4. Simplifications mathématiques
  5. hitTestObject
  6. Variables
  7. Transparence
  8. Images vectorielles et bitmap
  9. Texte dynamique
  10. Boucles
  11. Réutilisation d’objets

Annexes

  1. Introduction
  2. Forums et sites sur Flash
  3. Sites consacrés au développement de jeux vidéos
  4. Site divers (mais utiles !)

ActionScript 3 - Développez des jeux en Flash

Commander sur Amazon le Livre ActionScript 3 : Développez des jeux en Flash.

Créer un jeu flash de type casse briques avec PureMVC

4 questions

Ecrit le 27 décembre par Matthieu
Publié dans le(s) sujet(s) Jeux Flash

Le thème du cours AS3 de cette semaine est la création d’un jeu flash de type casse-briques ou plus connu sous le nom Arkanoid.

Pour développer ce jeu flash, nous allons nous appuyer sur le Framework PureMVC.

Voici ce que vous allez apprendre dans ce Cours ActionScript :

  • Quelle est la stratégie optimum pour architecturer votre projet flash.
  • Quel type d’arborescence utiliser pour se repérer facilement pendant le développement.
  • Comment retrouver d’un coup d’oeil la classe contenant le code recherché !
  • Les classe essentielles à créer lors de l’utilisation du Framework PureMVC.
  • Comment simplifier votre développement en séparant les tâches par domaine professionnel.
  • La technique pour implémenter l’algorithme du jeu dans les classes adéquates.
  • Comment augmenter progressivement la difficulté du jeu.
  • La solution pour effectuer simplement les différents tests de collision de la balle et des autres éléments du jeu.
  • Comment gérer et sauvegarder le score du joueur en créant une copie de l’écran du jeu.
  • L’organisation du code utilisée pour établir une communication entre Flash et Php / MySQL.

Cette formation AS3 vous permettra de développer un jeu flash AS3 de type casse-briques / Arkanoid.

Jeu Flash Casse Briques

Version démonstration

Ci-dessous un exemple du jeu flash casse briques !

https://www.actionscript-facile.com/wp-content/uploads/2011/12/casse-briques.swf

[spoiler]

Bonjour à tous ici Matthieu pour actionscript-facile.com

 

Dans ce nouveau cours actionscript, nous allons continuer à aborder la création de jeux flash après avoir vu la création d’un ticket à gratter et divers autres cours notamment avec le Framework starling nous allons voir comment créer un jeu de type case briques en AS3.

 

A travers ce cours je vais vous expliquer comment utiliser et architecturer les framework pureMVC autour de votre projet de jeu flash.

Nous verrons également la création des classes types puis comment implémenter l’algorithme du jeu : quelles sont les classes, les vues, le modèle ou les commandes qu’il gère.

 

Le tout, en intégrant une difficulté progressive du jeu, la gestion des collisions et la construction aléatoire des niveaux.

Nous verrons également la sauvegarde du score du joueur par la création d’une copie d’écran et la communication entre PHP et MySQL via du flash remoting.

Vous apercevez une petite copie d’écran du jeu flash sur votre écran.

 

Passons tout se suite à la pratique.

 

Dans un premier temps il faut créer le fichier fla.

Le but de la création d’un jeu flash est de séparer les tâches par domaine professionnel.

C’est-à-dire que le graphiste s’occupera de créer le fichier fla et tous les éléments graphiques.

Il va ensuite créer un fichier S WC.

Pour cela il faut régler les paramètres de compilation et cocher cette case exporter S WC.

 

Ensuite tous les éléments qui seront utilisables par actionscript seront directement appelable via du code AS3.

Pour ce faire vous créez les éléments graphiques un par un.

 

Le palais, le mur, les différentes interfaces game over, félicitations, les briques 1cliq, les briques où il faut 2 clics pour les faire disparaître, les briques trois clics et le fond de notre application.

 

Ensuite une fois que chaque élément est créé, il suffit de faire un clic droit propriété dessus et de cliquer sur exportée pour actionscript.

Et vous choisissez le nom de la classe. En fait c’est ce nom de classe que nous utilisons dans notre code actionscript pour ajouter l’élément graphique, pour l’utiliser dans notre application flash.

 

Tous les éléments graphiques saufs les animations étendra Sprite.

Dans ce jeu, il n’y a pas d’animation donc nous auront que des Sprite.

 

Pareil pour la balle c’est un simple cercle avec un petit effet de couleur.

Clic droit, propriété exporter pour actionscript. C’est-à-dire pour créer les éléments graphiques de notre jeux flash, on les séparent tous dans des clips de type Sprite indépendants.

Et on les exporte tous pour actionscript.

 

Zprès il est tout à fait possible de les imbriquer.

C’est-à-dire dans le background on a un clip qui s’appelle clip background et dedans, on a une autre image.

C’est l’image de fond du jeu.

Pourquoi j’écris un clip background ? parce que dessus je peux ajouter des effets comme un effet Alfa à 50 % sur l’image, comme ça je sais que mon clip background dans mon jeu flash présentera une transparence alpha de 50 %.

 

Et vous pouvez ajouter d’autres effets.

Par exemple pour game over; il est également dans un clip, le clip s’appel game over clip et il présente aussi un style un effet alpha de 80 %.

 

Maintenant voyons le mur.

Si nous regardons le mur, il y a 3 movieclip à l’intérieur.

Enfin trois clips Sprite. Si je l’ouvre on voit que c’est droite, il s’appelle droite.

On regarde les éléments du mur qui sont là.

Il y a trois clips droite gauche et haut, vous remarquerez qu’ils ne sont pas exportés pour actionscript. Car nous n’en aurons pas besoin dans notre code donc c’est normal les 3 ne sont pas exportée pour actionscript.

 

Par contre, si on revient sur le mur cela va nous servir à gérer les collisions d’une façon plus précise et séparée.

C’est a dire, j’ai créé ce clip pour pouvoir l’appeler droite. Je donne un identifiant ici, je lui donne un autre identifiant : gauche. Cela va nous servir pour la création, le test des collisions entre la balle et le mur, en fonction qui touche le haut, la droite ou la gauche.

 

Une fois que tout cela est créé, il ne nous reste plus qu’à lancer la compilation avoir un autre fichier SWC.

 

Puis nous passons sous FDT.

Dans le répertoire libs, j’ai mes fichiers SWC.

Donc je regarde Game à set et je vois tous les éléments qui sont utilisables par mon code actionscript, briques, game over, palais etc.

 

Si on regarde une classe il suffit de faire new palet. On sait que c’est un Sprite et de faire un addChild de palet et il sera affiché sur la scène.

 

Le mur rappelez-vous nous avions créé 3 movieclips a l’intérieur : haut, gauche, droite.

C’est des propriétés de la classe qui vont nous permettre de tester les collisions.

Donc une fois que ça c’est créén on a le fichier SWC pour le framework actionscript facile, monster debuggueur et lui c’est pour les boutons.

 

Donc on part de notre classe main qui est en Sprite.

On créé application facade Start-up, donc notre application façade contient toutes les commandes et les événements de notre application.

 

On associe chaque commande à une classe de commandes c’est a dire que si on regarde un peu plus précisément notre application :

nous avons org avec le framework pureMVC, le remoting de bytearray comme avec le style AS3 facile. AS3 file c’est le JPEG encodeur de bytearray et applications : qui est organisé en trois package différents.

 

Toutes les vues notre modèle, il peut y en avoir un ou plusieurs et toutes les commandes avec notre contrôleur.

 

Ensuite on lance, rappelez-vous ici on appelle start up, start up qu’est ce que ça fait ?

 

Il récupère le root et le stage et ça envoit une notification.

 

La commande start-up application start-up ça fait quoi ça ?

Elle prépare modèle donc on créé notre modèle new classe proxy en lui passant le stage

 

Et ensuite on crée nos vues avec new application médiator.

Ensuite dans application médiator pour créer les vues donc chaque vues concerne une interface utilisateur ou un élément graphique bien particulier.

 

Nous avons une vue background pour l’affichage du fond, la balle, les briques, la construction du niveau, la gestion des briques avec le nombre de clics pour les faire disparaître, une vue gagner, une vue game over, le mur, le palet et une vue pour le score.

 

Donc nous créons nos vues, des nouveaux Sprite. Tout ça et nous les positionnons c’est a dire celle là sera tout en bas, viendra par dessus le mur, le palet et la balle, les briques, le score.

 

Game over et gagner, ces 2 vues sont au dessus de toutes les autres pour qu’on puisse les voir quand elles apparaîtront et ça nous évite d’avoir à masquer les zones c’est beaucoup plus simple.

 

D’une façon très simple nous pouvons gérer l’affichage de nos différentes interfaces.

 

Ensuite on lance la création des vues, le menu contextuel, le clic droit sur l’application.

Et on dit que notre application est prête donc on envoie un événement comme quoi elle est prête.

 

Alors ensuite une fois qu’elle est prête, les différentes vues écoutent cet événement.

Par exemple on a la vue background, elle fait un new background car nous avons dans nos game A7 background, new background.

On positionne notre background, on l’ajoute sur la scène, elle écoute aucun des événements.

 

Ensuite nous avons la vue balle, elle créée une nouvelle balle. Ici on la masque, au début et on l’ajoute sur la scène et c’est tout ce qu’on fait.

 

Par contre vue balle elle écoute des événements, on voit qu’il y a eu applicationReady envoyée.

Et on envoie une notification en transmettant balle.

C’est a dire pour l’architecture de mon application j’ai choisi d’envoyer une référence vers l’objet balle à toutes les vues qui vont en avoir besoin, pour faire les tests de collisions. Donc les briques, le mur et le palet.

 

La commande info balle si on regarde ici dans application façade.

Command info balle, ça va appeler load infos qu’est ce qu’on fait ?

 

On sauvegarde la balle sur chaque vue. On sauvegarde une instance de balle dans chaque vue.

 

Si on regarde vue mur, save balle, on sauvegarde juste la balle.

Pareil pour save balle du palet. Et pareil pour viewBrique.

 

Cela nous permettra d’effectuer des tests de collisions.

Donc on a vu vue balle qui écoute différents événements.

 

Qu’est ce que fait d’autre cette vue ?

Elle s’occupe de bouger la balle.

 

Comment la balle bouge ?

Nous avons notre modèle. En fonction des jeux flash, de leur complexité, il peut y avoir plusieurs modèles dans l’application.

 

Ici ça reste relativement simple, donc un seul modèle suffit, de quoi s’occupe ce modèle ?

Il fait le flash remoting, donc la connexion avec PHP.

Il s’occupe également de l’événement on onEnterFrame ici.

C’est a dire que le modèle diffuse l’événement, un événement onEnterFrame qui est envoyé à tout le monde et toutes les vues qui ont besoin d’écouter l’événement onEnterFrame s’abonne à cet événement et effectuent des actions.

Par exemple vue balle, elle va bouger à chaque frame, uniquement bouger et tester si le joueur a perdu ou non, en fonction de la position de la balle dans l’application.

 

Ensuite nous avons vue brique, vue mur, vue palet, chaque frame va tester si il y a une collision ou non entre la balle et le palet, entre la balle et le mur.

 

Si c’est un mur de droite ou gauche, et pareil collisions entre la balle et les briques.

Donc j’ai choisi d’utiliser cette architecture tout simplement.

 

Si on regarde vue mur à chacun onEnterFrame, on fait un test de collisions.

 

Donc le mur, on le construit et un test de collisions, c’est tout simple il teste, il teste hit horizontal.

 

S’il y a eu collisions on pourrait mettre hit horizontal et hit vertical.

Donc on envoie cet événement et il est à destination de la vue balle.

La vue balle qui a intérêt d’écouter ces deux événements hit horizontal et hit vertical.

 

Qu’est ce qui se passe ?

Dès qu’elle entend hit horizontal ou hit vertical, on fait rebondir la balle.

 

Donc on change l’angle avec un petit random. Une notion aléatoire pour faire rebondir la balle.

 

Donc on change des valeurs angle qui sont ici, celui-ci est donc ça, c’est appelé à chaque frame.

 

Chaque FPS la balle se déplace. Donc on teste le game over.

 

Si la balle sort de l’écran, on envoie une notification game over.

Pas besoin d’exécuter le reste du code, ça sert à rien.

 

Et là on bouge la balle. Tout simplement en fonction de la vitesse et on a un petit compteur de frame.

C’est a dire toutes les 1333 frame, on augmente la vitesse d’une façon semi aléatoire.

 

Cela permet d’augmenter la difficulté du jeu au fur et à mesure du temps qui se déroule. Cela, c’est pour la gestion du mouvement de la balles et des collisions.

 

Ensuite comment on crée notre niveau ?

La création du niveau c’est la vue brique.

 

La vue brique s’occupe uniquement de créer un niveau aléatoire et de faire des tests de collisions.

Donc de la même façon, il y a un événement start game.

 

C’est-à-dire quand le joueur appuie sur Start game, on a la vue gagné.

Ici, on a notre bouton commencer.

Et quand on clic sur le bouton commençer, cela envoie l’événement commande start.

 

Si on regarde commande start qu’est ce que ça fait ?

On envoie un événement start game pour démarrer une nouvelle partie.

Et on lance le onEnterFrame. Pas la peine, que le modèle lance l’événement, enfin elle écoute l’événement onEnterFrame directement.

 

Au lancement de l’application ça ne sert à rien, on l’écoute uniquement quand le joueur démarre le jeu.

Donc start game, une fois qu’on a le start game, il faut construire notre level.

 

Donc on va construire notre niveau. On créé un Sprite qui va contenir toutes les briques, et ensuite on va dire qu’on a 11 lignes et 7 colonnes.

 

Et là-dessus, on créé nos briques.

Donc on récupère un nombre aléatoire compris entre 0 et 9.

 

Donc cette fonction est simple, de génération de nombres aléatoires.

Puis en fonction, on va créer un certain type de briques.

Rappelez-vous, on a trois types de briques : 1 clic 2 clics 3 clics. On augmente la probabilité d’avoir des briques 1 clic en faisant plusieurs case qui permettent de créer plusieurs briques un clic .

 

On diminue pour les briques 2 clics, les briques 3 clics doivent être assez rares.

 

Les autres cases c’est fait pour, ça permet d’augmenter le nombre de briques vides.

On créé une brique un clic et on utilise un objet en renseignant clic 1.

 

Il faut 1seul clic pour la faire disparaître, celle la 2 clics, celle là 3 clics.

 

Ppour rajouter des briques avec 4 clics, 5 clics, il suffit dans notre fichier fla de rajouter des nouvelles briques.

Et ici des nouvealles cases puis on ajoute la brique en addChild du mur de briques.

On la positionne et en à notre objet brique info qui contient le nombre de clic et le display objet allBriques, on le pousse dans un tableau.

 

Le tableau qui va contenir tous les display objets briques, ça va nous servir pour les tests de collisions.

Et ensuite on l’ajoute sur la scène le test de collisions c’est tout simple.

 

Si le tableau de briques est vide, qu’il ne contient plus de display objet c’est que le joueur a gagné.

 

Parce qu’il a fait disparaître le tableau de briques, donc on envoie la commande gagnée.

 

Par contre s’il reste des briques, on parcourt le tableaux. Et on fait un petit test, en récupérant le display objet.

Donc notre objet qui est dans le tableau display, on envoie hitTest horizontale, on a touché une brique.

 

C’est pour le score, ça permet d’augmenter le score global.

 

Et à chaque fois qu’on touche une brique on décrémente allBriqueInfoClic.

 

S’il est égal à zéro, la brique doit disparaître.

Donc on l’enlève de l’écran et on l’enlève du tableau allBrique.

 

Sinon on continue.

Si une briques trois clics, 2 clics on décrémente, donc et à chaque onEnterFrame, on fait un test de collisions.

 

Pour le score, c’est tout simple.

 

On a une vue qui nous gère uniquement le score, on écoute un événement on start game.

 

Donc on met le score à zéro.

Ensuite start game, c’est quand on change de niveau, on ne repasse pas le score a zéro.

Par contre, on l’augmente de zéro.

 

Ensuite reset score, le joueur a perdu donc on passe le score à zéro.

 

Et il y a : toucher une brique, on augmente le score de 10 points.

 

Après rien ne vous empêche d’augmenter plus ou moins le score suivant le type de brique qu’il touche.

Donc il faudra changer cet événement hit brique 1 clics, hit brique 2 clics, hit brique 3 clics très simplement.

 

Et nous savons quand le joueur a perdu.

 

Nous allons faire une copie d’écran pour conserver son score.

Ainsi il pourra le télécharger et l’envoyer à ses amis.

 

On utilise un file référence un objet.

 

Donc si score qu’est ce qui se passe ?

Notre modèle il est ici, alors il y a un événement qui dit game over commande.

 

Quand il y a une commande de game over qu’est ce qui se passe ?

on arrête d’écouter l’événement onEnterFrame.

Ensuite sur application mediator, on fait un get vue c’est-à-dire qu’on récupère l’écran comme il est actuellement en utilisant la classe de Thibault Imbert JPEG encodeurs.

 

On prend les dimensions de notre scène pour créer notre data sur le root.

 

En fait, c’est pas vraiment le root de mon application pureMVC qui contient toutes mes vues donc je récupère ce display objet qui contient toutes mes vues.

 

Cela permet de faire la copie d’écran. Qualité 100, je l’encode je récupère un bytearray et j’envoie la commande save score donc un événement qu’il va appeler la commande save score.

 

Qu’est-ce que va faire la commande save score ?

Elle va tout simplement appeler mon modèle.

Et le modèle va lancer une communication avec AMF PHP.

Qui va appeler la méthode de la classe PHP, donc on a notre classe JPEG encodeurs a une méthode qui s’appelle save to serveur.

 

On lui passe les valeurs et en cas de réponse réussite par PHP, on envoie l’événement si score avec le lien vers l’image, son nom d’image.

 

Oou sinon une erreur qui récupère l’événement si score, la vue game over qui va se mettre à jour.

 

Alors je la cherche c’est la vue game over qui récupère l’événement si score parce qu’elle l’écoute, on fait un download scrore.

 

C’est a dire on met à jour avec les paramètres envoyés avec l’événement : notre texte donc le score est disponible ici, avec le nom de l’image, un petit no cache pour gérer le cache.

 

Eet on lui propose de télécharger le score.

 

C’est à dire qu’on utilise file référence donc sur notre, on écoute l’événement texte ligne.

 

Cc’est à dire on peut mettre un lien href dans notre texte, donc on a un lien html classique qui va ouvrir votre navigateur dans un nouvel onglet.

 

Et on a un lien html qui associe un événement.

Et cet événement va lancer la fonction. L’appel de la fonction on line clicked quand le joueur va cliquer ici pour télécharger son score.

 

On utilise notre objet file référence pour lui proposer de télécharger l’image sur son disque dur.

 

Voilà un petit peu la présentation de la construction du jeu de casse briques.

 

Jje lance la compilation pour vous montrer le résultat final.

 

 

On commence, on joue.

Donc nous avons des briques 1 clic, 2 clics.

La balle rebondit tout simplement.

 

Vous voyez le background avec l’image de fond, la balle qui rebondit sur le palet, sur le mur, sur les briques.

 

Et en haut le score qui augmente à chaque fois qu’une brique est touchée.

 

Ensuite je perds.

Là ça a envoyé un événement, ça communique avec AMF PHP.

 

Votre score est disponible ici donc je clique la et ça permet d’afficher l’image du score donc la copie d’écran qui est effectué quand le joueur a perdu avec 300 points.

 

Et je peux également télécharger le score pour l’enregistrer sur mon PC.

 

Je peux rejouer et lancer une nouvelle partie.

De la même manière, si je perds, le nouveau score est disponible ici.

30 points sur votre navigateur Web et voici la copie d’écran enregistrée sur mon disque dur qui vous montre le high score.

 

Donc ça permet avec ce jeu de casse briques qui est une démonstration de comment créer un jeu flash très simplement, utiliser le framework pureMVC.

 

Les joueurs peuvent s’envoyer le score et se le partager.

Vous avez vu rapidement la création complète d’un jeu en flash en s’appuyant sur le Framework pureMVC.

 

A vous maintenant d’essayer de l’améliorer.

 

Par exemple, vous pouvez ajouter la gestion des vies dans ce jeu.

Pour ajouter la gestion des vies c’est très simple.

 

A un endroit, dans une vue, on a un game over.

Le game over, il est envoyé par la vue vue balle.

Il suffit de rajouter une constante number vie.

 

On l’initialise à chaque fois que l’on crée un nouveau jeu start game.

Et ici à chaque fois que le joueur perd, on décrémente cette variable vie.

Et dès qu’elle est à zéro, on envoie la notification de game over.

 

Sinon s’il lui reste des vies, la balle est sortie de l’écran.

On la repositionne. Vu qu’on est dans la bonne vue, pas besoin d’envoyer un événement ça sert à rien.

On la repositionne correctement et le jeu continue.

 

Ensuite, vous pouvez très bien rajouter des briques bonus.

 

Donc les briques bonus seront gérées par la vue brique.

 

Je ferais comment pour ajouter une brique bonus ?

Je rajouterais un nouveau case après un get random sur plus de nombre zéro : 20 par exemple.

 

Et sur 13, 14, je créerais une brique bonus au lieu que le clic soit 1, 2, 3, 4, 5.

Par exemple, j’aurais mon objet allBriqueInfo bonus avec une propriété Bonus zéro à un.

 

C’est-à-dire que quand il y a une collision avec une brique, on teste la brique on rajoutera rubrique info .Bonus égal 1.

 

E on donne le bonus au joueur si c’est égal zéro on fait rien.

 

Donc c’est relativement simple de rajouter des briques bonus.

 

Ici par exemple, pour toutes les briques classiques que l’on doit toucher allBriqueInfo. Bonus seraient null et pour les briques bonus il serait égal à un.

 

Dde la même manière en utilisant le même principe de bonus allBriqueInfo. Malus pour ajouter des briques qui donne un défaut au joueur comme : accélérer la balle, réduire la taille du palet.

 

De là, vous pouvez utiliser exactement la même méthode pour ajouter des briques malus.

 

 

Comme d’habitude, sous ce cours vidéo, vous trouverez le code source complet du jeu flash casse brique.

 

Est-ce que vous aussi vous avez déjà développé des jeux flash ?

 

Si oui quelles sont les stratégies que vous utilisez ?

 

Et utilisez vous un autre framework comme Vegas ou sinon pureMVC ou PixLib ?

 

Ou est-ce que vous codez directement dans le fichier fla ?

 

Dites-moi cela dans les commentaires.

Si vous avez créés des jeux de casses briques ou amélioré le jeu de casses briques que je vous fourni, n’hésitez pas à poster un lien pour montrer votre création sous cette vidéo dans les commentaires.

 

Je vous dis à très bientôt pour un prochain cours sur un autre jeu flash sur actionscript-facile.com.

[/spoiler]

Télécharger le code source du cours AS3

Vous trouverez l’ensemble du code source commenté pour vous aider.

Renseignez votre adresse mail pour recevoir le code source commenté instantanément !

Et vous, quel type de jeux flash avez-vous déjà développé?

Quelles sont les stratégies que vous avez utilisés ?

Dites-moi cela dans les commentaires ci-dessous

Postez-les dans les commentaires ci-dessous !

Comment utiliser et personnaliser les Composants AS3 Facile ?

Commentaires fermés sur Comment utiliser et personnaliser les Composants AS3 Facile ?

Ecrit le 22 novembre par Matthieu
Publié dans le(s) sujet(s) Framework AS3 Facile

Logo AS3 Facile

Suite à vos demandes, le thème de ce Cours ActionScript 3 porte sur l’utilisation et la personnalisation des Composants du Framework AS3 Facile.

Pour apprendre à créer des Composants visuels et votre propre Framework AS3, consultez l’ensemble des cours ActionScript 3 sur le Framework AS3 Facile.

Voici ce que vous allez apprendre dans ce Cours ActionScript :

  • Créer le fichier fla contenant les graphismes des composants AS3 Facile.
  • Comment personnaliser tous les composants AS3 Facile et les rendre conformes à vos applications flash.
  • Créer un fichier swc contenant les graphismes et l’utiliser dans votre application flash.
  • Un exemple d’utilisation et de personnalisation de chaque composants AS3 Facile.

Cette formation ActionScript 3 vous permettra d’utiliser, de modifier, d’ajouter et d’implémenter les Composants AS3 Facile dans vos applications flash.

Les Composants AS3 Facile

Version démonstration

Et voici notre application implémentant l’ensemble des composants du Framework AS3 Facile.

https://www.actionscript-facile.com/wp-content/uploads/2011/11/composants-as3-facile.swf

Télécharger le code source du cours AS3

Et voici le code source de l’exemple d’utilisation des composants du Framework AS3 Facile.

Télécharger “Utilisation Composants AS3 Facile” composants-as3-facile.zip – Téléchargé 157 fois – 138 KB

Télécharger la dernière version du Framework AS3 Facile.

Montrez moi vos applications flash qui utilisent les Composants AS3 Facile ?

Partagez votre personnalisations des graphismes des Composants AS3 Facile dans les commentaires ci-dessous.

Quelles sont les nouvelles fonctionnalités que vous avez ajoutés ? Quelles fonctionnalités souhaitez-vous dans le Framework AS3 Facile ?

Activer / Désactiver rapidement du code ActionScript via les balises Commentaires

Commentaires fermés sur Activer / Désactiver rapidement du code ActionScript via les balises Commentaires

Ecrit le 10 novembre par Matthieu
Publié dans le(s) sujet(s) ActionScript 3

Pendant la phase de développement et surtout d’écriture de code, il arrive souvent que nous effectuons divers tests de fonctionnalités.

Et pour cela, nous avons besoin de pouvoir désactiver / activer rapidement des lignes de codes.

Une solution est d’utiliser les possibilités offertes par les caractères de commentaires ActionScript.

Ci dessous, du code ActionScript désactivé, voyons comment l’activer rapidement.

/*
this.graphics.beginFill(0x808080, 0.5);
this.graphics.drawRect(100, 50, 100, 100);
this.graphics.endFill();
//*/

Il suffit de commenter la première ligne en ajoutant le caractère / pour activer le code ActionScript.

//*
this.graphics.beginFill(0x808080, 0.5);
this.graphics.drawRect(100, 50, 100, 100);
this.graphics.endFill();
//*/

Ensuite, vous souhaitez ajouter un autre block de code et l’activer / le désactiver rapidement.

Ci dessous, le 2ème block de code est désactivé en supprimant le caractère / (la ligne précédent Block2).

//*
// Block 1
this.graphics.beginFill(0x808080, 0.5);
this.graphics.drawRect(100, 50, 100, 100);
this.graphics.endFill();
/*/
// Block 2
var oTxt:TextField = new TextField();
oTxt.x = 30;
oTxt.y = 33;
oTxt.width = 200;
oTxt.height = 40;
oTxt.border = true;
oTxt.text = "Un bloc de texte";
this.addChild(oTxt);
//*/

Puis pour inverser l’activation des blocks de code, il suffit de supprimer le caractère / sur la 1ère ligne.

Ainsi le 1er block de code est désactivé, le 2ème block de code est activé.

/*
// Block 1
this.graphics.beginFill(0x808080, 0.5);
this.graphics.drawRect(100, 50, 100, 100);
this.graphics.endFill();
/*/
// Block 2
var oTxt:TextField = new TextField();
oTxt.x = 30;
oTxt.y = 33;
oTxt.width = 200;
oTxt.height = 40;
oTxt.border = true;
oTxt.text = "Un bloc de texte";
this.addChild(oTxt);
//*/

Ce sont des astuces de commentaires très pratiques pendant le développement et les tests de codes ActionScript.

Il est possible très simplement et rapidement de tester plusieurs blocks de code ActionScript et d’en désactiver d’autres.

Utilisez-vous d’autres astuces pour vos tests de code AS3 ?

Postez vos exemples dans les commentaires ci-dessous.

11 astuces pour optimiser votre code ActionScript 3

2 questions

Ecrit le 8 novembre par Matthieu
Publié dans le(s) sujet(s) ActionScript 3

Un Cours ActionScript 3 réclamés par les Développeurs suivant la Formation AS3 Facile.

Vous trouverez un ensemble de conseils à suivre pour optimiser votre code ActionScript 3 et le rendre plus performant 😉

J’ai testé chacun de ces exemples dans des applications flash. Il existe plusieurs benchmarks sur internet montrant les gains de performances.

1 – Évitez les multiplications dans les boucles

Mauvaise version

Le résultat est multiplié par un facteur 10 à chaque boucle. La multiplication n’est pas nécessaire.

const n: int;
var i: int;
 
var result: int;
 
for( i = 0; i < n; ++i )
{
	result= i * 10;
	trace( result.toString() );
}

Version correcte

La multiplication peut être remplacée par une addition qui est beaucoup moins gourmande en ressources mémoires.

Et nous obtenons exactement le même résultat.

addition   
const n: int;
var i: int;
 
var result: int;
 
for( i = 0; i < n; ++i )
{
	trace( result.toString() );
	value += 10;
}

2 – Le Casting

Mauvaise version

Les éléments du tableau sont demandés directement. C’est une mauvaise solution parce que le Player Flash ne connait pas l’objet et la refactorisation du code est impossible.

casting   
const list: Array /* type VectorTest */;
var i: int = list.length;
 
while( --i > -1 )
	list[ i ].x = Math.random();

Versions correctes

Il suffit de caster l’objet à l’intérieur du tableau pour améliorer les performances.

casting   
const list: Array /* de VectorTest */;
var i: int = list.length;
 
while( --i > -1 )
	VectorTest( list[ i ] ).x = Math.random();

Dans la majorité des cas, utilisez plutôt les Vecteurs pour typer vos tableaux.

casting   
const list: Vector.<VectorTest>;
var i: int = list.length;
 
while( --i > -1 )
	list[ i ].x = Math.random();

3 – Réutilisez les instances créées

Mauvaise version

Dans l’exemple suivant, l’instance Point est créée à chaque itération. C’est très couteux en ressource et inutile.

instances   
const n: int = 1024;
 
for( var i: int = 0; i < n; ++i )
{
	var point: Point = new Point();
 
	point.x = point.y = Math.random();
 
	// utilisation du "point" ...
}

Version correcte

Il n’est pas nécessaire de créer une nouvelle instance de Point à chaque itération. Une seule instance est nécessaire pour la boucle.

instance   
const n: int = 1024;
var point: Point = new Point();
 
for( var i: int = 0; i < n; ++i )
{
	point.x = point.y = Math.random();
 
	// utilisation du "point" ...
}

4 – L’appel de fonction

Lorsque c’est possible, évitez d’appeler directement les fonctions Math() de Flash Player. Elles sont couteuses en ressources.

Remplacez les fonctions Math par leurs équivalents avec les opérations (additions, multiplications…).

fonction   
// version lente
y = Math.abs(x);
 
// version équivalente beaucoup plus rapide
y = x > 0.0 ? x : -x;

5 – Le typage

Mauvaise version

Dans l’exemple ci-dessous, la création de l’objet n’est pas typée. C’est une mauvaise solution parce que le Player Flash ne connait pas l’objet. C’est une pratique non recommandée pour le refactoring et la Programmation Orientée Objet.

typage   
for( var i: int = 0; i < 1033; ++i )
{
	var oData: Object = {};
 
	oData.x = 1.0;
	oData.y = 2.0;
	oData.z = 3.0;
}

Version correcte

Lors de la création de l’objet, typez ses propriétés correctement. Ainsi le Player Flash connait l’objet et peut lui appliquer des optimisations spécifiques, en fonction du type (Number, String,…).

typage   
package
{
	public final class Data
	{
		public var x: Number;
		public var y: Number;
		public var z: Number;
	}
}
 
// dans un autre fichier ActionScript
for( var i: int = 0; i < 1033; ++i )
{
	var oData: Data= new Data();
 
	oData.x = 1.0;
	oData.y = 2.0;
	oData.z = 3.0;
}

6 – Déclaration de variables

Mauvaise version

Lorsque vous avez besoin de déclarer plusieurs variables, la déclaration une ligne par variable n’est pas une solution optimisée.

var a:int=0;
var b:int=0;
var c:int=0;

Version correcte

Pour déclarer plusieurs variables, il est plus optimisé d’utiliser la déclaration sur une seule ligne 😉

var a:int=0, b:int=0, c:int=0;

7 – Boucle For

Une règle très simple en ActionScript 3, utilisez des integers pour les itérations de vos boucles.

Mauvaise version

for (var i: Number = 0; i < n; i++)
void;

Version correcte

Pour une exécution plus rapide, utilisez int à la place de Number dans vos boucles.

for (var i: int = 0; i < n; i++)
void;

8 – Optimisation des multiplications

Si vous utilisez cette opération i*33, le résultat sera de type Number.

L’accès au tableau est optimisé pour les types int. Donc pour vos calculs dans les tableaux, pensez au casting du résultat en int.

Mauvaise version

for (;i<n2;i++)
	Data(array[i*2]).x = 2;

Version optimisée

for (;i<n2;i++)
	Data( array[ int(i*2) ] ).x = 2;

9 – Les constantes des autres classes

Une autre optimisation concerne l’utilisation d’une constante provenant d’une autre classe.

Mauvaise version

var iVar:int;
 
for(var i:Number=0; i<100000; i++)
{
	iVar = UneClass.UNE_CONSTANT;
}

Version correcte

Le code précédent peut être optimisé en sortant la constante de la boucle.

Vous créez une variable en dehors de la boucle pour recevoir la constante.

var iVar:int;
var iConstant:int = UneClass.UNE_CONSTANT;
 
for(var i:Number=0; i<100000; i++)
{
	iVar = iConstant;
}

10 – Les opérateurs sur les bits

L’utilisation des opérateurs sur les bits augmente significativement les performances.

A la place de la multiplication et de la division utilisation les syntaxes sur les bits.

Mauvaise version

for(var i:int=0; i<100000; i++)
{
	var val1:int = 4 * 2;
	var val2:int = 4 * 4;
	var val3:int = 4 / 2;
	var val4:int = 4 / 4;
}

Version optimisée

for(var i:int=0; i<100000; i++)
{
	var val1:int = 4 << 1;
	var val2:int = 4 << 2;
	var val3:int = 4 >> 1;
	var val4:int = 4 >> 2;
}

11 – Utilisez des Vector à la place des Array

Le Player Flash version 10 a ajouté un nouveau type de données les Vector (ou Vecteurs).

Les Vector sont plus rapides que les Array pour générer des listes des données et parcourir des collections.

Version Array non optimisée

Vector   
var a:Array = new Array(LENGTH);
 
for(var i:int = 0; i < LENGTH; i++)
{
	a[i] = Math.random() * 100000;
}

Version équivalent avec Vector

Vector   
var v:Vector.<Number> = new Vector.<Number>(LENGTH, true);
 
for(var i:int = 0; i < LENGTH; i++)
{
	v[i] = Math.random() * 100000;
}

Pour aller plus loin dans l’optimisation ActionScript 3

Il y a encore plusieurs autres optimisations à apporter dans votre développement Flash.

Je vous conseille d’étudier l’excellent livre de Thibault Imbert sur l’optimisation des publicités.

Avez-vous d’autres optimisations à suggérer ?

Partagez vos optimisations de code ActionScript 3 dans les commentaires ci-dessous.


luctus lectus Praesent felis Donec at nunc venenatis dolor