guepard's techblog

mercredi 10 janvier 2007

Comment générer un event personnalisé dans une classe ?

Voici un exemple de classe générant un event personnalisé que l'on interceptera dans l'animation qui l'utilisera. :-)

Cette classe représente un mixer (oui faut être tordu pour penser à ça pour une classe, pas vrai nicoptère ! :-D ) que l'on peut démarrer et qui renverra un event quand il a fini son travail (dans notre cas ce sera après 2 secondes 8-) ).

Lire la suite

mercredi 3 janvier 2007

Comment faire une animation FullScreen ?

Vous voulez que votre animation prenne toute la place disponible dans votre navigateur et qu'elle ne soit pas étirée ? :-)

Voici comment procéder :

On pourrait penser que c'est dans flash qu'il faut implémenter tout ça mais non, c'est dans le code HTML que ça se passe. 8-) Vous devez définir la taille de l'objet à 100% (en hauteur et en largeur) au lieu de la taille en pixel (comme c'est le cas quand vous publiez votre anim).

Pour que ce soit compatible sur tous les browsers (et pas seulement sur IE), il faut passer par une feuille de style (css).

Lire la suite

mercredi 13 décembre 2006

La profondeur d'un clip, c'est quoi ?

La profondeur d'un movieclip détermine sa position sur l'axe z par rapport aux autres clips, le clip ayant la plus grande profondeur sera au-dessus. Il s'agit donc d'une notion importante à bien comprendre pour pouvoir placer ses clips dans le bon ordre. Voici une petite explication sur cette profondeur.

Il faut d'abord savoir que la profondeur d'un clip A est relative au clip parent (P) qui contient ce clip A. Donc, si on place ce clip A à une profondeur de 10, ça veut dire qu'il est à la profondeur 10 dans le clip parent (P) et pas dans l'anim complète.

Ensuite, dans un clip P, on ne peut avoir qu'un seul clip à chaque profondeur. Par exemple, si on place un 2ème clip (C) à la profondeur 10 dans notre clip P, il écrasera le clip A qu'on avait aussi mis à la profondeur 10 avant.

Enfin, les profondeurs étant relatives à un clip parent (la racine d'une anim étant aussi un clip), si un clip P1 est à une profondeur supérieure à celle d'un clip P2, tout clip étant dans P1 sera au-dessus de tous les clips qui pourraient se trouver dans P2 (même s'ils ont des profondeurs très élévées dans P2).
D'où l'intérêt de bien structurer ses anims pour pouvoir s'y retrouver quand on veut placer ses clips correctement. ;-)

Une dernière chose à savoir est que la profondeur par défaut d'un clip placé à la main sur la scène de votre anim aura toujours une profondeur négative. Par contre, un clip créé en AS (avec attachMovie, duplicateMovieClip, createEmptyMovieClip, ...) aura une profondeur positive et sera donc au-dessus d'un clip présent sur la scène.

Lire la suite

mercredi 22 novembre 2006

Loader, redimensionner si nécessaire et centrer une image dans un cadre

Voici un petit exemple expliquant comment loader une image externe en la positionnant dans un cadre (en veillant à ce qu'elle soit redimensionnée si elle est trop grande pour le cadre).

Vous pouvez tester avec l'anim ci-dessous en donnant l'url complète d'une image 8-)

Lire la suite

mercredi 8 novembre 2006

Mini-galerie dont la photo courante reste visible pendant le chargement de la suivante

Quand on charge une image (ou un swf) externe dans un clip (avec LoadMovie ou MovieClipLoader), le clip est écrasé et tout ce qu'il contenait est supprimé.
Pourtant, quand on veut afficher la photo suivante d'une galerie ou le contenu swf d'un autre menu, on pourrait vouloir que le contenu affiché reste visible jusqu'à la fin du chargement du contenu qui doit suivre (en affichant un loading discret dans un coin).

Pour cela, on peut utiliser 2 clips superposés. On charge le nouveau contenu dans le clip inférieur et on laisse le clip supérieur (avec le contenu courant) visible pendant le chargement. Quand il est terminé, on swap les 2 clips (et on recommence le même travail à chaque chargement). :-)

Voici donc un exemple en image (videz le cache de votre navigateur si vous voulez revoir les loading 8-) ) :

Lire la suite

vendredi 27 octobre 2006

Un exemple complet de ticket à gratter

J'ai souvent eu des demandes concernant la manière de faire des tickets à gratter (prizee-like). Voici un exemple complet et bien commenté avec 3 zones à gratter qui peuvent faire apparaître 3 images externes chargées dynamiquement et aléatoirement (parmis 15 images).

Si vous avez 2 fois le même avatar, c'est gagné ! ;-)
Si vous avez 3 fois le même, c'est gagné aussi mais mieux. 8-)
Si vous trouver les pseudos correspondant aux avatars, c'est aussi gagné ! :-D

Voici le résultat (mediabox style powaaa :-D ) : F5 pour rejouer :-)

Lire la suite

jeudi 26 octobre 2006

Firefox 2 est sorti !

C'est officiel depuis ce mardi 24 octobre. 8-)

Vous pouvez le télécharger ici : Firefox 2 download ;-)

Lire la suite

vendredi 13 octobre 2006

Bug : Firefox + input fields + wmode transparent

N'ayant pas beaucoup de temps ni d'inspiration pour le moment :-D , voici un petit rappel concernant un bug de Firefox quand on utilise des champs de saisie de texte dans une anim dont le fond est transparent (wmode=transparent). Quand ce petit mélange est réuni, vous aurez la désagréable surprise de voir que lorsque vous taperez du texte (même si vous ne tappez pas fort), certains caractères seront différents de ce que vous avez entré.

Bug Firefox ou bug Flash ? Difficile de donner une réponse.

Lire la suite

dimanche 8 octobre 2006

XML et les caractères spéciaux

Voici un autre problème récurrent sur le forum flash.media-box.net : la récupération des caractères accentués et des caractères spéciaux (', ", &, etc.) venant d'un fichier XML. Voici comment procéder pour résoudre ce type de problème.

Lire la suite

samedi 7 octobre 2006

Une liste de liens générée à partir d'un XML

Suite à une demande sur flash.media-box.net, j'ai réalisé cette liste de liens (avec description au passage de la souris) générée à partir d'un fichier XML.

Les boules sont placées aléatoirement dans un carré de côté dont la longueur maxi est définie par la variable 'pas' et dont le centre est la boule précédente. Les boules essaient aussi de ne pas se chevaucher (sauf si on se retrouve coincé à un moment donné :-P ).

Voilà ce que ça donne. 8-) (F5 pour revoir l'anim)

Lire la suite

mardi 3 octobre 2006

Le fauteuil du geek sportif... :-)

Lire la suite

samedi 30 septembre 2006

Une classe pour loader une image externe avec smoothing

Vous avez sans doute déjà remarqué que lorsqu'on charge une image externe (avec LoadMovie ou un MovieClipLoader), dès qu'on fait faire une rotation ou une déformation à cette image, elle pixelise et cela est très moche. ;-) La solution est d'utiliser la classe BitmapData (flash 8) qui permet d'appliquer un smooth pour supprimer cette pixelisation. Malheureusement, la mise en pratique de cette solution reste assez confuse pour beaucoup de monde. J'ai donc créé cette classe 'ImageLoader' qui hérite de la classe MovieClipLoader pour remédier à cela. L'utilisation de cette classe est similaire à celle des MovieClipLoader mais vous pourrez modifier l'image sans qu'elle pixelise. 8-)

Voici une petite anim pour montrer la différence entre ma classe et un MovieClipLoader normal :

Lire la suite

vendredi 29 septembre 2006

Gestion des événements sur un clip

Lire la suite

jeudi 28 septembre 2006

onEnterFrame et setInterval

Ces 2 méthodes permettent d'exécuter du code à intervalle régulier sans passer par une boucle qui serait beaucoup trop rapide. On les utilise par exemple pour déplacer des clips, pour leur appliquer des effets (fondu, rotations, zoom, ...), pour générer des loading, etc.

Voici un petit billet pour savoir comment (bien ;-) ) les utiliser.

Suite aux judicieuses remarques de thecaptain, je parlerai aussi de setTimeout qui permet de faire une pause dans l'exécution du code (j'ai également rajouté le typage fort dans mes bouts de code).

Lire la suite

mardi 26 septembre 2006

Petit relooking

J'ai un peu été voir dans le ventre de la bête histoire de changer un peu le look par défaut. ;-)

Dotclear étant bien fait, c'est assez facile de faire ce qu'on veut (avec un peu d'aide de la part de dada :-D ).

Ca risque fort d'encore évoluer.

1 2 >