Archive for the ‘FlashDevelop’ Category

Tutos FlashDevelop, AIR et AIR on Android #2 Un projet AIR avec FlashDevelop

Maintenant que vous savez comment créer un projet AS3 avec FlashDevelop, nous allons voir comment créer un projet AIR et comment le packager pour pouvoir l’installer comme application autonome tournant dans AIR.

D’abord, qu’est-ce que AIR ? Adobe Integrated Runtime. Vous trouverez toutes les explications nécessaires sur le site d’Adobe mais, en gros, c’est un moyen de faire tourner vos animations Flash (à ce stade, on parle d’applications et non plus d’animations) comme des applications de bureau, tournant sur votre machine. Avec quelques avantages par rapport à Flash comme les accès aux fichiers locaux, l’utilisation de bases de données SQlite, la possibilité d’utiliser un moteur de rendu HTML (WebKit), etc…

Pour être précis, il faut dire que AIR permet aussi de créer des applications basées uniquement sur du HTML ou du HTML+Javascript. On n’est donc pas obligés d’utiliser Flash pour créer une application AIR.

Mais c’est pourtant ce que nous allons faire :)

Commençons par créer un nouveau projet dans FlashDevelop. Si vous avez un projet d’ouvert, fermez le et fermez tous les onglets ouverts pour vous retrouver avec l’onglet Start Page seul ouvert.

Cliquez sur New Project et choisissez AIR AS3 Projector. Comme pour le projet AS3, choisissez un nom pour votre projet et un emplacement ou enregistrer vos fichiers.

Après avoir confirmé vos choix en cliquant sur ok, vous constaterez que la colonne Project contient quelques fichiers en plus que lors de la création d’un simple projet AS3. (Mon projet contient toujours le fichier SWCSettings.lxml qui ne se trouve pas dans le votre, toujours à cause d’un plugin que j’ai installé).

Nous reviendrons sur ces fichiers dans un instant mais d’abord, nous allons tester notre application.
Dans la classe Main, créez un TextField qui affichera le fameux « Hello World » connu de tous puis testez avec CTRL+Enter ou F5.

Et normalement, votre application devrait s’afficher à l’écran.

Vous constaterez que ce que fait en fait FlashDevelop, c’est ouvrir un exécutable qui s’appelle adl.exe (AIR Debugger Launcher), qui se trouve dans le SDK installé précédemment.
C’est cet exécutable qui sert de « player » et qui lance le swf généré par le compilateur de Flex. C’est lui aussi qui nous permettra de débugger notre application.

Plus d’infos ici: http://livedocs.adobe.com/flex/3/html/CommandLineTools_4.html#1031914

Vous pouvez voir ce qui se passe exactement en analysant les lignes qui se trouve dans le panneau Output

A ce stade, nous n’utilisons pas encore réellement le Adobe Integrated Runtime mais nous simulons son utilisation.

Pour comprendre comment FlashDevelop « sait » qu’il doit utiliser adl, nous allons aller voir de plus près le panneau des propriétés du projet.

Cliquez sur Project -> Properties.

Dans l’onglet Output (ouvert par défaut), dans la partie Test Movie (en bas de la fenêtre) on constate que le choix dans la combo-box est défini sur « Run custom command ».
Et si on clique sur Edit, on a accès à cette « Custom command ».

Cette ligne indique à FlashDevelop que, au lieu d’ouvrir le player Flash, il doit lancer adl.exe (qui se trouve dans le SDK au chemin configuré lors de l’installation) et passer un fichier .xml (application.xml) comme paramètre à adl.exe. Il lui indique également le chemin d’un répertoire à inclure dans le « path » de l’application(bin).

Dans l’onglet Classpaths, on défini les différents endroit ou FlashDevelop va aller chercher les classes à utiliser dans le projet. Le classpath src est défini par défaut. On peut en ajouter autant qu’on veut (un par ligne) en entrant un chemin relatif au projet (../../../monClassPath  fonctionne aussi).

Dans l’onglet Build, on peut demander à FlashDevelop de lancer des commandes avant (Pre-Build) ou après (Post-Build) la construction de l’application AIR. Dans le cas d’un projet AIR, une pre-build par défaut demande à FD d’arrêter tout process de adl avant de lancer la construction du projet.

Dans l’onglet Compiler Options, il y a énormément de paramètres modifiables mais celui qui va nous intéresser se trouve dans la rubrique Aditional Compiler Options. En cliquant sur le rectangle avec les « … », vous verrez que FlashDevelop est configuré pour créer une application AIR.

Plus d’infos ici: http://livedocs.adobe.com/flex/3/html/help.html?content=CommandLineTools_2.html

Intéressons-nous maintenant à ces 4 fichiers supplémentaires qui se trouvent dans notre projet. Nous avons:

application.xml
CreateCertificate.bat
PackageApplication.bat
AIR_readme.txt

Le premier fichier, application.xml, est un fichier de description de votre application. C’est grâce à lui que vous aller déterminer le comportement de votre application par rapport à la machine: aspect de la fenêtre de l’application, icônes associées à votre application, version de l’application, etc…

Plus d’infos ici: http://livedocs.adobe.com/flex/3/html/SDKHelloWorld_1.html#1030300

Les deux fichiers qui suivent, CreateCertificate.bat et PackageApplication.bat sont des fichiers batch qui contiennent les lignes de commande qui servent, pour le premier, à créer le certificat dont toute application AIR doit être munie, et pour le deuxième, à créer le fichier .air, qui sera le fichier d’installation que vos clients utiliseront pour installer votre application sur leur machine.

Ces deux fichiers doivent être exécutés pour créer votre package AIR. D’abord CreateCertificate.bat puis PackageApplication.bat

En effet, le second fichier aura besoin du certificat créé par le premier pour packager votre application.

Pour exécuter le fichier CreateCertificate.bat, faites un click-droit dessus dans la fenêtre Project et choisissez Execute. Une console s’ouvre pour exécuter ce fichier. Notez-bien le password indiqué, nous en aurons besoin plus tard.

Si vous obtenez un message d’erreur du type : »Troubleshotting: did you configure the Flex SDK path in this Batch file? », c’est que le fichier n’a pu trouver le chemin vers le sdk ou le chemin vers le jre Java.
Pour résoudre ce problème, vous devrez indiquer les chemins exacts au moyen des lignes suivantes dans le fichier CreateCertificate.bat:

:: Path to Flex SDK binaries
set PATH=%PATH%;E:\sdks\flex_sdk_4_1\bin
set PATH=%PATH%;C:\Program Files (x86)\Java\jre1.6.0_07\bin

Double-cliquez sur le fichier (colonne Project) pour l’ouvrir dans FlashDevelop et modifiez ces lignes.

Bien entendu, vous devez adapter les chemins en fonction de vos machines.

Enregistrez, fermez le fichier puis relancez le process et ça devrait fonctionner.

Vous pouvez appuyer sur une touche pour fermer la console. Vous constaterez qu’il y a un fichier en plus dans votre projet: SelfSigned.pfx. C’est le certificat personnel que AIR utilisera pour certifier votre application lors de son installation sur une machine client. Bien entendu, il faudra acheter un « vrai » certificat si vous voulez réellement être crédible et vendre votre application. Voir sur le site d’Adobe la marche à suivre.

Maintenant que le certificat est créé, nous allons « packager » notre .swf au format AIR. Simplement, nous allons créer un fichier regroupant toutes les sources dont le runtime aura besoin pour installer votre application sur la machine.

Dans la colonne Project, vous avez actuellement quelque-chose comme ceci:

Toujours dans la colonne Project , faites un click-droit sur PackageApplication.bat et choisissez Execute.

Vous obtenez la console suivante:

Vous voyez que la ligne d’invite vous demande d’entrer un mot de passe.

Tapez celui que vous avez noté juste avant (fd dans notre cas) et faites Enter.

Si vous avez un message d’erreur, faites la même modification que dans CreateCertificate.bat. (chemin vers sdk et jre java)

Si vous n’avez pas d’erreur, vous devriez avoir la réponse suivante:

Et dans la colonne Project, vous voyez un nouveau répertoire air avec un fichier de type .air à l’intérieur. C’est votre application packagée au format AIR :)

Pour installer l’application sur votre machine, vous n’avez plus qu’a exécuter ce fichier. Click-droit/Execute si vous êtes dans FlashDevelop ou DoubleClick depuis l’explorer. Suivez les consignes pour installer votre application et… c’est fait.  :)

Voilà qui termine ce deuxième tuto consacré à FlashDevelop.

N’hésitez pas à me poser vos question par email ou par twitter en cas de besoin (twitter.com/baizone)

A bientôt pour la troisième partie: Porter notre application AIR sur Android.

Tutos FlashDevelop, AIR et AIR on Android #1 Un projet AS3 avec FlashDevelop

Voilà, chose promise chose due, je commence une série de tutos sur FlashDevelop, AIR et AIR on Android.

Ces tutos auront pour but de reprendre pas à pas les différentes étapes, les pièges à éviter, les choses à ne pas oublier pour construire dans un premier temps une application AIR desktop et ensuite pour la porter vers Android.

Le but n’étant pas d’apprendre l’AS3 mais bien d’apprendre à utiliser les différents outils mis à notre disposition.

Je vais partir du principe que, tout comme moi, vous n’êtes toujours pas passé CS5 et que vous n’avez donc pas accès aux différents  « plugins » existants pour créer las apps AIR et AIR/Android.

Nous utiliserons Flash CS4 pour créer les différents assets graphiques et FlashDevelop pour la partie AS.

Le but n’étant pas d’apprendre l’AS3, nous allons créer une application très simple. Un white-board permettant de dessiner avec la souris puis de sauver localement une capture de l’application au format .jpg

Tout le monde est prêt ? Alors, c’est parti !

Première chose à faire, installer FlashDevelop (FD), qui en est à la version 3.2.2 RTM au moment ou j’écris ces lignes. Pour ça, rien de plus simple, il suffit de se rendre à l’adresse suivante et de suivre les instructions: http://www.flashdevelop.org/community/viewtopic.php?f=11&t=6956&sid=9569c6bc4b2696a308f7d0446524fd84

Attention !!! N’oubliez pas de charger et d’installer la version 10.1 debugger du player Flash et le Java runtime. Les liens sont indiqués dans la page de téléchargement (lien ci-dessus) dans la rubrique « Important »

Ensuite, il vous faudra télécherger le Flex SDK. SDK signifie « Software Development Kit », c’est à dire, le kit fourni par Adobe pour développer des application Flex (ou Flash, ou AIR). Il contient tous ce dont nous allons avoir besoin pour créer des .swf sans passer par le compilateur de Flash.

Pour le télécharger, rendez-vous à cette adresse: http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4

Une fois chargé, dézipez le contenu dans un endroit facilement accessible… nous aurons parfois besoin d’y accéder en ligne de commande alors ne choisissez pas un chemin trop compliqué ;) Voilà le mien: E:\sdks\flex_sdk_4_1

Et voilà une capture de son contenu:

Lors du portage vers Android, il faudra modifier ce sdk mais nous n’en sommes pas encore là :)

L’étape suivante consiste à configurer FlashDevelop pour qu’il utilise le Flex SDK pour compiler vos projets et créer les .swf

Ouvrez FD et rendez-vous dans Tools->Program Settings (ou F10). Cliquez sur AS3 Context dans la colonne de gauche puis sur Flex SDK Location dans la colonne de droite et faites pointer le browser vers le répertoire qui contient les fichiers que vous venez de déziper.

A ce stade, FD devrait être à même de vous créer un .swf

Pour celà, nous allons créer un nouveau projet. Pour commencer, un projet AS3 « classique », ensuite, nous testerons avec un projet AIR

Cliquez sur Project -> New Project

Vous pouvez voir qu’il y a pas mal de choix. Nous allons choisir pour commencer « AS3 Project ».

Définissez un nom pour votre projet, un endroit sur votre machine ou seront stockés les fichiers et demandez lui de créer un répertoire pour votre projet (ou pas… :)  ).

Vous obtenez la structure de projet suivante (Voir la colonne « Project » à droite de FD):

J’ai un fichier supplémentaire que vous ne devriez pas avoir qui est du à un plugin installé sur ma version de FD: SWCSettings.lxml

Ouvrez le fichier Main.as et créez un TextField.

Testez l’animation (Ctrl+Enter ou F5 ou la flèche verte au dessus de FD).

Normalement, votre animation devrait s’ouvrir dans une fenêtre popup.

Vous avez la possibilité de modifier les différents paramètres de votre animation (FPS, Taille, affichage en popup ou dans un onglet, etc…)

Allez dans Project -> Properties et modifiez comme bon vous semble :)

Vous verrez que cette fenêtre sera très importante dans un avenir proche.

Voilà qui termine ce premier tuto dédié à FlashDevelop. Dans le prochain, nous verrons comment créer une application AIR.

N’hésitez pas à me contacter par email (j’oublie souvent de valider les commentaires) en cas de questions ou sur Twitter pour les plus geek’s d’entre-vous. (twitter.com/baizone)

A bientôt.

BaizoneRadioAIR devient MusicPlay’AIR

Yeah !!! Je suis fier de vous annoncer la sortie de la nouvelle version de MusicPlay’AIR (anciennement BaizoneRadioAIR) rebaptisé ainsi pour l’occasion.

En effet, j’y ai ajouté la possibilité de jouer les mp3′s locaux, il n’y a donc plus de raison de l’appeler « radio player » :)

N’attendez plus pour l’installer ou faire la mise à jour et surtout, n’hésitez pas à m’envoyer un message pour me tenir informé des bugs que vous allez trouver… car il y en a, j’en suis sur ;)

http://www.baizone.be/BaizoneRadioAIR/

Musicalement vôtre :)

Astuce du jour… version de .swf

Il est parfois utile d’insérer une information à l’intérieur d’un swf pour pouvoir déterminer quelle est la version ou la date de compilation pendant l’exécution de celui-ci.

Voilà un petit truc que j’utilise avec FlashDevelop.

On a la possibilité, dans FlashDevelop, de lancer une ["pre-build command line"] (Project -> Properties -> Build) qui comme son nom l’indique exécute une ou des lignes de commandes AVANT la compilation du swf.
J’utilise cette propriété pour lancer un fichier .bat qui crée un fichier texte contenant une chaine de caractères représentant la date de l’exécution.
Je charge le fichier texte au format binaire au moment de la compilation du swf et j’utilise son contenu (qui est une chaine de caractères contenant la date de compilation) ou je veux et quand je veux dans mon application.

Le fichier .bat:
echo %date% %time%>version.txt

Le fichier texte créé par le .bat:
mar. 19/01/2010 20:07:03,92

Et surtout, la méthode pour récupérer ce fichier texte et comment l’utiliser.
Dans une classe (votre classe Main, par exemple) vous codez ceci:

//chargement du texte au format binaire
[Embed(source = "version.txt", mimeType = "application/octet-stream")]

//création d’une variable qui permettra de créer une occurence de la classe versionClass
private static var versionClass:Class;

//une fonction statique qui permettra de récupérer une chaine de caractère représentant la date de compilation
public static function GET_VERSION():String
{

var xmlObj:Object = new versionClass();

return xmlObj.toString();

}

//récupération de la date depuis n’importe quelle classe de votre application
trace(Main.GET_VERSION());

Bien sur, il faut que votre fichier texte se trouve à côté de votre fichier Main.as

En espérant vous avoir aidé :)

Pratique d’ActionScript 3

Je viens de recevoir la version papier, qui contient les nouveautés du player 10, de « Pratique d’ActionScript 3 » de Thibault Imbert.
Pratique d’ActionScript 3
Une brique de presque mille (1000 !!!) pages.

Ne pas me déranger pendant 2… 3 jours.  :)

Return top

Suivez-moi sur Twitter