3 octobre 2003

Concours Flash Crea.04 organisé par MediaBox

MediaBox, communauté dont fait partie entre autre Flash Forum organise demain 4 Octobre un concours de création Flash en temps limité (7 heures pour créer une animation sur un thème imposé) ... il est ouvert aux experts comme aux débutants, et aux codeurs comme aux graphistes, et en plus gratuitement ! :) Inscrivez vous vite pour une nuit de folie créative sur Flash à l'adresse : http://www.media-box.net/concours/ ... :D

Ayant remporté les deux premières éditions Flash de ce concours (la troisième était pour un site web HTML), je vous dis pas la pression que j'ai ... :P Non seulement tout le monde m'attends au tournant, mais en plus il y a une licence Flash MX 2004 à remporter (ca me ferait du bien) !!! :D

C'est pourquoi, comme vous l'avez sûrement remarqué, mon blog manque de mises à jour en ce moment. Je prépare mes classes (pas beaucoup en fait) et mon matériel ... 8)

29 septembre 2003

Traduction du PathFinder de GSkinner en AS2

Francis BOURRE continue son étude des différents pathfinder existant pour Flash, et en profite pour les traduire en AS2. 8) C'est aujourd'hui le tour de celui de gskinner, qu'il a mis à notre disposition : http://www.tweenpix.net/archives/000056.html.

Francis avait déjà traduit celui de André Michelle : http://www.tweenpix.net/archives/000009.html. Il prévoit également de faire un comparatif entre trois pathfinder : les deux qu'il a traduit et le mien ...

25 septembre 2003

Easing equations dynamiques par Timothee Groleau

Timothee Groleau nous propose sur son site un générateur de "easing equations" comme celles de PENNER.

L'avantage est qu'on peut paramétrer sa fonction d'easing graphiquement, au moyen d'une interface trés sympa et trés pratique : http://www.timotheegroleau.com/Flash/experiments/easing_function_generator.htm.

Un belle performance, qui en plus est bien utile ! 8)

19 septembre 2003

Easing equations de Robert Penner pour ActionScript 2

Robert Penner vient de rendre disponible sur son site la version AS2 de ses fameuses easing equations. Chaque type d'équation (Quad, Cubid, etc...) est maintenant dans une classe à part, qui contient trois méthodes statiques : easeIn, easeOut, et easeInOut.

Vous pouvez télécharger ces équations à l'adresse suivante : http://www.robertpenner.com/easing/

16 septembre 2003

Composants : Extension manager 1.6

Si vous avez installé Flash MX 2004 et que vous voulez installer des composants, vous devez installer Extension Manager 1.6, qui est disponible uniquement en anglais pour l'instant.

Il a l'avantage de vous laisser choisir sur quelle version de Flash vous voulez installer le composant : MX ou MX 2004. Vous pouvez également choisir d'installer les composants V1 (pour Flash MX et MX 2004) ou les composants V2 (uniquement pour MX 2004)

15 septembre 2003

Bug AS2 : propriétés de type Object ou Array

petepx signale sur son blog Tween Pix un problème qui se pose lorsque l'on crée dans une classe une propriété de type Object ou Array sans l'initialiser. La propriété est alors statique, c'est à dire qu'elle est partagée par toutes les instances de la classe : plus d'infos ici

10 septembre 2003

Flash MX 2004 disponible !!

La version d'évaluation de Flash MX 2004 Standard/Pro est enfin disponible (en anglais seulement pour l'instant) pour Mac et PC, ainsi que ses associés : Dremweaver MX 2004 et Fireworks MX 2004. Rendez vous sur ce lien. J'ai également lu que les versions complètes étaient disponibles pour les abonnés DevNet, mais je n'ai malheureusement pas la possibilité de le vérifier ...

Le version finale du Flash Player 7 est également disponible, et en français !!! Vous pouvez la télécharger à cette adresse. Elle sera bientôt indispensable pour voir mes réalisations !!! :D

25 août 2003

Flash MX 2004 bientôt dans les bacs !!!

Aprés avoir boycoté volontairement l'annonce du Flash Player 7 beta (qu'on retrouvait dans tous les blogs du monde), je ne pouvais décemment pas passer à côté de l'annonce par Macromedia du nouveau Flash !!! Il va donc être disponible en deux version :


La fonctionnalité sur laquelle j'ai bloqué pour l'instant, est l'apparition des intructions 'class' et 'extends', ainsi que la possibilité d'éditer des fichiers .as externes directement dans Flash : http://www.macromedia.com/software/flash/productinfo/features/static_tour/application/external.html.

MAJ : voici un petit exemple de code que l'on pourra trouver dans Flash MX 2004, avec la totale :


  • Instructions class, implements et extends
  • Création d'interfaces
  • Posiibilité de créer des propriétés et méthodes statiques, privées, publiques, et virtuelles
  • Typage des variables

class ClassName extends MovieClip {
static var counter = 12;
private function ClassName() { }
   public function method() { }
   }
// ---------------------
   function get testProp() {
      return this.__testProp;
   }
   function set testProp(v) {
      this.__testProp = v;
   }
// ---------------------
interface Currency {
   function formatCurrency(c:Number);
   function convertCurrency(from:Object, to:Object);
}
class textDisplay extends Movieclip implements Currency {
   function formatCurrency(c) {
      // ...
   }
   function convertCurrency(from, to) {
      // ...
   }
}
class textLine extends Movieclip implements Currency {
   function formatCurrency(c) {
      // ...
   }
   function convertCurrency(from, to) {
      // ...
   }
}

Optimiser votre code avec FLASM

Timothee Groleau (auteur de l'article sur la portée des variables dont j'ai donné le lien ici) m'a fait l'honneur de poster le premier commentaire de ce blog, en me faisant remarquer que certains liens que j'ai données étaient trés probablement optimisés avec un outil nommé flashm, que je ne connaissais absolument pas ... C'est chose réparée mainenant ! :D Flashm est donc un optimiseur de fichier SWF, qui va intervenir au niveau du Bytecode (code compilé ou code natif de Flash).
N'oubliez pas que cet utilitaire ne dispense aucunement d'optimiser son code dés le départ !!! Vous pourrez le trouver à l'adresse suivante : http://flasm.sourceforge.net/

La question (judicieuse) que pose l'auteur, ets de savoir si flasm sera toujours utile avec l'arrivée du Flash Player 7 qui est largement optimisé en terme de performances d'ActionScript ...

20 août 2003

Le pathfinding ou comment aller d'un point à un autre

Voici plusieurs liens qui traitent des algorithmes de pathfinding. C'est absolument passionant (je trouve) avec schemas à l'appui, et qui traitent du trés célèbre algo A* (prononcer A-star). En plus les articles en français sont trés trés aboutis techniquement, rédigés par un gars qui s'est occupé de l'Intelligence Artificielle d'un jeu chez CRYO pour son stage de fin d'études :

19 août 2003

André Michelle : petite lecon d'humilité

Voila le blog d'un gars qui m'a donné une petite lecon d'humilité ... Ses experiments sur les maths, les courbes de bezier, les liquides, les forces physiques et la 3D m'ont tout simplement laissé sur place. Donc, voila, pour ceux qui n'ont pas peur de se sentir moins doués que ce qu'ils croyaient (ca fait du bien de temps en temps) : http://www.andre-michelle.com/ (a voir : la "Cable Clock" que j'ai trouvé super jolie).

18 août 2003

MVC et MVP : des architectures interessantes

Voici quelques liens relatifs à aux frameworks MVC (Model-View-Controler) et MVP (Model-View-Presenter). Ce sont des frameworks de programmation sur lesquels je suis en train de me pencher, et qui m'ont l'air franchement trés interessants. ActionScript étant orienté objet, il est bien évidemment possible de les appliquer en programmation Flash.
En gros, cela consiste à séparer les données (Model), l'affichage (View) et l'applicatif (Controler). Une des différences majeures (pour ce que j'en ai vu vite fait), est qu'en MVC, le controleur recoit les interactions utilisateurs (clavier, souris, ...) et intervient sur le visuel (View) et les données (Model), tandis qu'en MVP, le visuel (View) recoit les intercations utilisateurs et les transmets à l'applicatif (Presenter).

Donc voici les liens :

13 août 2003

Creation automatique de fichiers MXI pour composants

Voici un petit utilitaire bien pratique pour la création de composants : MXI File Creator. Les .mxi sont des fichiers XML qui décrivent un composant avec toute sa structure (fichiers utilisés, fichiers d'aide, etc...) qui sont utilisés par Extension Manager pour "compiler" un composant. Ce format propriétaire de Macromedia n'est pas ce qu'il y a de plus simple à mettre en place, sauf avec ce petit soft !!!

Créer une référence pour les composants

Ca y est, mon menu XML v2 est quasiment fini (en tout cas, les fonctionnalités sont implémentées). Il me manque juste quelques méthodes et évenements publics à mettre en place, et surtout l'aide (et le commentaires, mais ca c'est encore une autre paire de manches) !!! Et ca c'est un travail de longue haleine ...

A ce propos, je me sert de l'article de Macromedia qui explique comment créer le fichier XML utilisé dans la référence de Flash : http://www.macromedia.com/devnet/mx/flash/articles/cybersage.html.

11 août 2003

Le framework de Debreuil : un bon outil !

Un des éminents codeurs de Flash Forum ( dehix pour ne pas le citer ;) ) utilise le frameworkde Debreuil pour ses créations de classes, ce qui m'a incité à y jeter un coup d'oeil.

Eh ben il est trés bien ce petit framework!!! Il permet de créer des classes et des interfaces facilement, de gérer un système de package, et de faire de l'héritage avec un sytaxe de style C# ou Java (au choix). Un des utilisateurs a fait des benchs dessus, portant sur le comparaison entre l'héritage par prototype et l'héritage via le framework. Ce bench a été fait sur 500 classes sur 3 niveaux, et la différence ne serait que de l'ordre de quelques millisecondes.

Je n'ai pas encore beaucoup fouillé dans ce framework, mais j'ai seulement constaté que le système d'héritage est celui utilisant __constructor__, ce qui est un coup de poker (fonction non documentée). Mais si __constructor__ est documenté dans Flash 7, c'est la méthode que je comptais utiliser! Sinon, le stockage des classes se fait apparemment dans un tableau, et l'instanciation des classes se fait via une classe singleton ...

Vous trouverez le lien vers le fichier et vers l'aide à l'adresse : http://www.debreuil.com/phpBB/viewtopic.php?t=117

8 août 2003

Interpréteur ActionScript .... en ActionScript

J'ai trouvé un composant qui interprète l'ActionScript, cad qu'il prend une chaine en paramètre du style : "a=10;trace(a);" et interpète l'ActionScript qui est contenu dedans, sur une timeline donnée (_root par exemple).

Le code de ce composant constitue un travail absolument colossal : le programmeur a codéune reconaissance de toutes les fonctions et opérateurs AS, et les applique ensuite... En soit, ce n'est pas ce qu'il y a de plus compliqué, mais il fallait y penser, et surtout ça a du prendre un temps énorme (surtout sans les expressions régulières) et nécessiter une organisation sans failles pour ne rien laisser passer.
Les seules limitations se trouvent au niveau de certaines instructions qu'on ne peut pasutiliser : var, super, function, return et ifFrameLoaded : on lui en voudra pas ... ;-)

Donc, un grand coup de chapeau au codeur (dont le site n'est plus en ligne apparemment) : http://entclosure.com/ (trouvé sur http://www.flashcomponents.net/)

::Télécharger ASInterpreter 1.03::

Flash et l'héritage : tout un poème ...

Bon, la je sais que je ne vais rien apprendre à personne car cette adresse est ultra-connue, mais je me sers aussi de ce blog comme "bookmark" ! :D

Le Wiki de FlashCoders traite de l'héritage en ActionScript : http://chattyfig.figleaf.com/flashcoders-wiki/index.php?inheritance. Pratique : on y trouve les 4 moyens connus à ce jour pour faire de l'héritage avec les classes AS, avec leurs avantages et inconvénients : ca laisse à chacun la possibilité de choisir en connaissance de cause.
Personnellement, j'utilise la méthode de Penner : c'est la seule qui est acceptable en terme de logique, et qui n'utilise pas de fonctions non documentées. Si __constructor__ était documenté dans Flash 7, je pense utiliser la méthode qui s'en sert car ca permet d'utiliser super() dans le constructeur.

A noter, une astuce sur la manière d'hériter de la classe Array : http://chattyfig.figleaf.com/flashcoders-wiki/index.php?inherit%20from%20Array. Cela permet de conserver l'opérateurs de crochets [ ] et peut être bien pratique !!!

Héritage dans Flash un peu particulier ...

Voici le blog d'un développeur allemand qui a créé son propre mécanisme d'héritage. Grâce à une manipulation des chaines de prototypes, il utilise le constructeur d'une classe abtraite (ou d'une classe parent) en tant que singleton pour instancier des classes qui en héritent. Voici donc les quelques extraits de son blog qui traitent de la question :

7 août 2003

Portées des variables dans Flash

Un article (en anglais) concernant la gestion des portées de variables dans Flash : http://timotheegroleau.com/Flash/articles/scope_chain.htm : c'est pas simple tout ca !!!

page 4 de 4 -