Aller au contenu | Aller au menu | Aller à la recherche

lundi 8 janvier 2007

Variable membre et réference

Encore une petite subtilité qui m'a fait arracher quelques cheveux cet après midi, et comme je suis pour la paix des cuirs chevelus, je vous la livre.

class Test {
	public var tab1:Array;
	public var tab2:Array = new Array();
	
	function Test () {
		this.tab1 = new Array()
	}
}

Dans cette classe, j'ai 2 variables membres tab1 et tab2; la diffèrence étant que tab1 est instanciée dans le constructeur et tab2 dans la définition de la classe (c'est pratique parfois)
Et la mauvaise surprise c'est qu'instancié de la sorte, le tab2 de chaque instance est en réalité une réference à un tableau instancié dans la classe, commun à toutes les instances de la classe.
Avec ce test :

var a:Test = new Test();
a.tab1.push(1);
a.tab2.push(1);

var b:Test = new Test();
b.tab1.push(2);
b.tab2.push(2);

trace ("a.tab1: " + a.tab1);
trace ("a.tab2: " + a.tab2);
trace ("b.tab1: " + b.tab1);
trace ("b.tab2: " + b.tab2);

voilà ce qu'on obtient en sortie :

a.tab1: 1
a.tab2: 1,2
b.tab1: 2
b.tab2: 1,2

Attention donc quand on veut donner une valeur initiale à des variables membres de type Array ou Object...

mardi 2 janvier 2007

AS3 Connecter un Joystick analogique

Avec l'introduction des sockets en AS3 il y'a vraiment moyen de s'amuser, c'est une passerelle de communication extrêmement souple, l'idée est de connecter un joystick analogique au player 9, des logiciels existent dèjà permettant de mapper les touches du joystick au clavier puis de faire une detection par la classe Key, ici nous obtenons des valeurs oscillant entre -100 et 100 par exemple, c'est vous qui choisissez l'amplitude, pratique pour des mouvements de caméra ou autres déplacements.

J'ai developpé une application "Flash Joystick Controller" permettant de gérer les inputs du joystick en DirectX, ces entrées sont ensuite envoyées à l'animation Flash connectée en tant que client par la classe Socket, un ByteArray est envoyé contenant l'état du joystick, les valeurs X et Y du pad mode analogique activé ou non puis les états des boutons, l'idée serait ensuite de livrer une API permettant d'appeler des méthodes déclenchant un comportement sur le joystick par exemple la vibration ou assigner les touches etc, bien sûr ceci est une expérimentation, histoire de jouer avec l'AS3 :)

Une vidéo et les sources sont disponible sur bytearray.org, pour vous donner une idée si vous n'avez pas de joystick sous la main :)

vendredi 29 décembre 2006

Opera Wii - les touches de la Wiimote

On trouve sur différents sites, la liste des codes de touches de la Wiimote. Au premier abord c'est la grosse fête, après quelques tests, c'est moins drôle...

Lire la suite

mercredi 6 décembre 2006

Flash Lite 2.1

Une petite note, pour annoncer la sortie du lecteur Flash Lite 2.1 en version gratuite pour les mobiles Symbian, desormais le player n'est plus bloqué sur le numéro IMEI du téléphone, et 100% gratuite, quoi de neuf au programme pour ce player, pas mal de choses dont la saisie de texte au sein du player (sans passer par l'interface du mobile), ce qui rend l'experience plus sympa pour l'utilisateur.

Pour plus d'infos c'est ici

D'après de rapide tests avec Foxy, le player 2.1 améliore pas mal les performances, c'était visuellement flagrant, à tester donc :)

Pour tester tout ça, il vous faut donc l'update Flash Lite 2.1 pour l'IDE de Flash 8, vous pouvez télécharger cela ici à partir de cette page

vendredi 1 décembre 2006

Plugin Flash Develop - trace

Hier Jerome m'a envoyé un plugin qu'il a developpé pour les utilisateurs de FlashDevelop, c'est tellement pratique que je ne pouvais pas laisser passer ça :) Cela permet en 2 raccourcis de tracer des objets, ou de parcourir un objet avec une for..in, une petite vidéo vaut mieux qu'un long discours. Dèjà auteur de cette fonctionnalité sur Sepy, ça fait plaisir que Jerome l'ai intégré à FlashDevelop.

Plus d'infos ici

Allez on fait tous un bisous à Jerome :)

mercredi 15 novembre 2006

Export in first frame et AS2

Je viens de chercher pendant 2 heures alors au cas où certains auraient le même problème...

Quand on lie un Clip à une classe AS2, que l'on exporte ce clip "avant la première frame", MAIS que l'on spécifie aussi dans les options de publication d'exporter le code AS2 en frame 2 ou +, le lien du clip à la classe ne ce fait pas, même si on l'utilise après la frame 2. D'ailleurs la classe est bien intégrée dans le SWF, et l'objet est bien disponible pour un attachMovie, simplement il restera un clip tout bête.

Bref, encore un argument contre le "Export in first frame".

mardi 31 octobre 2006

Journée Adobe Flex 2 - Conférence ActionScript 3

Adobe relance une journée meeting dévéloppeur Flex 2 pour le 20 Novembre au Salon panoramique « Espace 56 », plusieurs conférences s'étaleront tout au long de la journée, j'espère que je verrai certains d'entre vous, venez !

Je présenterai les nouveautés du langage ActionScript 3, pour ceux qui ont dèjà vu mes précédentes conférences AS3, il y'aura pas mal de nouveautés, Jean Luc Esser nous parlera des Design Patterns, Christophe Coenraets des Flex Data Services, et Emmanuel Levi-Valensi nous parlera de la gestion de RIA.

L'adresse :

Salon panoramique « Espace 56 » Tour Maine Montparnasse 75015 Paris

Pour s'inscrire, c'est ici

Vivement le 20 ! ;)

mardi 10 octobre 2006

AS3 : SMTP Mailer 0.1

Beaucoup de personnes m'ont demandé les sources de l'application permettant d'envoyer des mails enrichis avec des pièces jointes en AS3, voilà les sources toute propre, pour Flash 9 Alpha

Voici un petit topo de ce que contient le zip :

Mailer.as : Cette classe gère les échanges avec le serveur SMTP, deux méthodes sont disponible pour le moment ( sendAttachedMail et sendHTMLMail) la première envoie un mail HTML avec pièce jointe, la seconde envoie un mail HTML standard.

Base64.as : Pour passer des données binaires par SMTP vous devez encoder les octets en une chaine de caractère Base64, technique la plus efficace pour des questions de compatibilité, la chaine Base64 est décodée en binaire par votre gestionnaire de mail.

JPEGEncoder.as : Cette classe est intégrée au package corelib, elle prend comme entrée un BitmapData et l'encode en un flux JPEG compressé.

Note : Dans mon exemple, je fais une capture de la scène pour rendre plus simple l'appli, vous pouvez tout à fait capturer n'importe quel display object ( Video, Sprite, MovieClip ) pour envoyer par exemple par mail une capture webcam ou autre...

De plus la classe Mailer gère pour l'instant l'envoi de pièces jointes de type image, la version 0.2 permettra d'envoyer par mail n'importe quel fichier binaire (mp3, zip, exe, etc..)

Les sources ici

samedi 7 octobre 2006

Panneau "Tester JSFL"

Pour les fans de JSFL, voila un ptit panneau sans prétention dont je me sert pour tester quelques scripts ou éventuellement lancer une petite "macro" ponctuelle.



Comme vous pouvez le constater sur la vidéo, j'ai rajouté quelques petits extras comme les préférences qui me permettent de définir un entête qui sera systématiquement ajouté avant le script que je tape. Cet entête est sauvé dans un SharedObject, vous pouvez donc le définir comme vous voulez.

Vous pouvez télécharger le fichier MXP ici

mercredi 4 octobre 2006

Debugging : Xray

Cette semaine je suis tombé sur ce projet nommé Xray sur osflash permettant de débugger vos applis, j'avais dèjà vu passer ce projet y'a un moment, aujourd'hui ça n'a plus rien à voir, Xray est une vraie tuerie.

Le principe est simple, un composant à placer dans votre anim à débugger, une fois le site publié, vous lançez Xray (une petite application Flex2 standalone ) qui va se connecter par LocalConnection à votre anim et ainsi vous aider à debugger, parmi les possibilités on notera :

l'exécution de code à partir de Xray, focus sur les éléments lors du parcours de la hiérarchie, ajout de filtres à la volée depuis Xray, pilotage de vidéos et de sons intégrés à l'anim, et plein d'autres choses que je ne connais pas encore, bref ça claque.

Tout cela open-source sur osflash

Pour des tutoriaux vidéos rendez vous ici

vendredi 15 septembre 2006

AS3 : fZIP, la classe

Claus Wahlers vient d'annonçer la sortie d'une classe ActionScript 3 développée avec Max Herkender, permettant de décompresser des zip à la volée, ça se passe ici

Projet bien pratique pour charger des lots de fichiers :)

La doc est dispo ici

La démo est visible ici

Congrats Claus ;)

vendredi 8 septembre 2006

AS3 : JPEG Live Encoder 0.2


Cela faisait un moment que je voulais mettre au propre certaines expérimentations, voilà une petite application permettant d'encoder à la volée du JPEG.

Une vidéo est chargée dans l'appli, on choisit le taux de compression que l'on souhaite affecter, il est possible d'avoir un aperçu avant la sauvegarde, puis lorsque la qualité vous convient, alors deux modes de sauvegarde s'offrent à vous, un enregistrement de l'image sur le serveur, ou bien mise en téléchargement du fichier avec fenêtre de download. Cela peut s'avérer pratique dans un back-office pour générer des vignettes à partir de FLV, SWF, WebCam etc...
Je vais rajouter des options pour le contrôle de la video (avance rapide, pause, etc) et je posterai les sources.

L'application est dispo ici

Update : 20/09/06 : Ajout du support FLV

samedi 5 août 2006

IFBIN ein frei Mittel für Flash !


Bon alors pour ceux et celles qui ne seraient pas encore au courant, IFBIN, une mine d'exemples en AS pour Flash et Flex est à présent gratuit. Gratuit oui vous avez bien lu ! Alors hop, si vous avez toujours voulu savoir à quoi sert l'opérateur "^" ou faire un chat avec un serveur de socket XML, précipitez-vous !

mardi 25 juillet 2006

Conférence Adobe Flex 2 - Slides Conférence ActionScript 3



Voilà comme promis les slides de ma conférence sur l'AS3 que j'ai presenté lors du rendez-vous Flex 2 par Adobe.
Les sources arrivent :)

Vous pouvez télécharger les slides en exe ici

Vous pouvez télécharger les slides pour MAC ici

lundi 10 juillet 2006

Conférence Adobe Flex 2 - Paris (La Défense)



Je serai présent pour la conférence Adobe Flex 2 qui se tiendra le Jeudi 20 Juillet 2006 à la Défense, je ferai une présentation des fondements d'ActionScript 3, je vous montrerai de nouvelles applications ainsi qu'une partie du contenu que j'ai presenté pour la conférence AS3 du Web Flash Festival 2006.

Jean Luc Esser fera une session sur le développement d'applications avec Flex Builder 2, puis Christophe Rooms (Consultant Adobe) nous parlera des Flex Data Services pour le développement des applications d'entreprise.

Venez tous en vous inscrivant ici