Archive pour mai 2008

Veille

Premiers retours sur flash 10

La sortie de la pré-release de flash 10 a pas mal agité les flahseurs assidus que nous sommes ces derniers temps. Quelques papes ont d’ailleurs déjà publié des articles expliquant comment profiter des dernières fonctionnalités :

Pour le moment il n’y a pas de doc mais comme le propose le blog d’Iteratif, l’outil ClassBrowser peut se révéler très pratique si vous souhaitez compiler en flash 10.

Globalement, les nouvelles implémentations sont de véritables bombes qui, sans bouleverser les applications de Flash dans le Web, vont probablement enrichir énormément la qualité et la fluidité de nos modules/sites en flash tout en facilitant leur production.

Personnellement, j’ai surtout axé mes tests sur la nouvelle API de dessin et un post sur le résultat de ces tests devrait suivre d’ici peu.

Mais en ce qui concerne la 3D, je tire pour le moment un bilan mitigé de mes premiers tests. Nottament sur la non-prise en charge de l’axe z pour gérer les depths des display object. Même si en théorie ça paraît légitime, ça se révèle très frustrant en pratique puisque la méthode local3DToGlobal qui est censé nous permettre de récupérer la profondeur globale d’un clip imbriqué ne nous renvoie qu’un Point (contenant seulement les valeurs de x et de y à l’écran). Il sera donc “compliqué” de gérer efficacement la profondeur des display object imbriqués relativement à leur valeur de Z globale (pour créer une classe Camera3D par exemple). Où il y a peut-être quelque chose qui m’échappe ? Ces premiers tests ayant été fait de façon très superficielle, je suis peut-être passé à coté de quelque méthode ou propriété réglant ce problème.

Le 21 mai 2008 par kikko

Tags = ["", ""];

3 commentaires

Geekitude

Pourquoi l’AS3 ne sera jamais en français.

C’est avec émotion que je rédige mon premier post sur ce blog :’) Amis de la subversion et des posts où on peut tout comprendre en une seule lecture (quoique..), bienvenue.

Qui n’a jamais fait de blague sur ses noms de variables.. ? Qui n’a jamais subi de regard dubitatif après une conversation au sujet de Strings avec un collègue codeur..?
Vous n’avez jamais pensé à ce que donnerait l’AS3 en français ?

Et bien, ne rêvez pas plus, nous l’avons fait pour vous.

Pour faire ma petite démo, je suis allée chercher un bout de code sur le Flash Enabled Blog, avec cet exemple de Drag and Drop.

Nous apprenons, entre autre, qu’un Sprite est un Farfadet.. (j’y peux rien moi..)

Le gros problème que ça soulève, si vraiment l’envie vous prend de tout traduire et de lancer un AS francophone (on s’amuse comme on peut), c’est la traduction du féminin/masculin.
Si on prend l’exemple d’un new Truc(), tout dépend de l’objet Truc().
Ca pourrait être nouveau Tableau, nouvelle Chaine, ou encore nouvel Objet.. Idem pour le privé ou privée.. Bref ça devient vite n’importe quoi.

L’exemple :

paquet {
 
     importer flash.afficher.Farfadet;
     importer flash.evenements.Evenement;
     importer flash.evenements.EvenementSouris;
     importer flash.texte.ChampsTexte;
 
     publique classe AnagrammeGlisserDeposer etends Farfadet{
 
          privee variable glisseeCible:Farfadet;
 
          publique fonction AnagrammeGlisserDeposer () {
                variable tableau:Farfadet= nouveau Farfadet();
                variable lettres:Tableau = nouveau Tableau("d","i","r","t","y","r","o","o","m")
                variable l:Chaine;
                variable xPos:entierNonSigne = 50
                variable yPos:entierNonSigne = 100
                pour chaque (l dans lettres) {
                      variable piece:Farfadet= nouveau Farfadet();
                      piece= creerPièceLettre(l comme Chaine) // taille, couleur, jaune
                      piece.x = xPos;
                      piece.y = yPos;
                      xPos += 50;
                      tableau.ajouterEnfant(piece);
                      piece.ajouterEcouteurEvènement(EvenementSouris.SOURIS_BAISSEE, glisserDemarreur, faux);
                      piece.ajouterEcouteurEvenement(EvenementSouris.SOURIS_LEVEE, glisserBouchon);
               }
               ajouterEnfant(tableau)
               variable instructions:ChampsTexte= nouveau ChampsTexte();
               instructions.texte = "Ré-organise des lettres pour former un autre mot"
               instructions.x = 20
               instructions.y = 20
               instructions.largeur = 300;
               ajouterEnfant(instructions)
         }
         privee fonction glisserDemarreur(evenement:EvenementSouris):vide{
               si (evenement.cible est Farfadet) {
                     glisserCible = evenement.cible comme Farfadet;
                     glisserCible.commencerGlisser();
               }
        }
 
        privee fonction glisserBouchon(evenement:EvenementSouris):vide{
               glisserCible.arreterGlisser();
        }
 
        privee fonction creerPieceLettre(txt:Chaine):Farfadet{
               variable s:Farfadet = nouvelle Farfadet ();
               variable lettre:ChampsTexte= nouveau ChampsTexte();
               variable pieceCouleurArrière:entierNonSigne  = 0xDBD9A6;
               variable pieceCouleurOmbre:entierNonSigne  = 0x676420;
               variable pieceCouleurBordure:entierNonSigne  = 0x000000;
 
               s.graphique.commenceRemplir(pieceCouleurOmbre);
               s.graphique.dessineRectangle(-2, 2, 40, 40);
               s.graphique.arretRemplir();
               s.graphique.commenceRemplir(pieceCouleurArriere);
               s.graphique.dessineRectangle(0, 0, 40, 40);
               s.graphique.arretRemplir();
               s.graphique.styleLigne(1, pieceCouleurBordure, 100);
               s.graphique.dessineRectangle(0, 0, 40, 40);
 
               lettre.texte = txt
               lettre.selectionnable = faux;
               lettre.x = 14
               lettre.y = 14
               lettre.largeur = 14
               lettre.hauteur = 16
               s.ajouterEnfant(lettre)
 
               retourner s;
        }
    }
}

Alors, vous en pensez quoi ?
Et comme te dirais Maître Capello dans le debugger, si erreur dans ton code il y a..

Le 20 mai 2008 par Wahiba

Tags = ["", "", ""];

13 commentaires

Tutos

Flash Switcher : jonglez avec plusieurs versions de Flash

Flash Switcher est une extension Firefox qui (comme son nom l’indique) permet de “switcher” entre plusieurs versions du plugin Flash pour Firefox.

Cette extension est fort utile pour tester des applis Flash avec des vieilles versions du plugin (sisi ça existe encore les clients qui veulent du Flash 6…) mais aussi pour basculer entre la version normale et debug du plugin. Et puis en ces temps euphoriques de sortie de Flash 10, il est bien pratique de pouvoir facilement revenir à une version stable et entièrement fonctionnelle.

Lire le reste de cet article »

Le 16 mai 2008 par PingooO

Tags = ["", ""];

Aucun commentaire

Le blog

Enfin !

Un nouveau thème pour notre blog. Depuis le début du String dans l’Array nous nous traînions avec le thème wordpress de base. Ce n’est plus qu’un vieux souvenir. Place aux couleurs pétantes et aux headers génératifs !

Design : .W.
Logo : alma & vogler voice
Code : PingooO

Le 15 mai 2008 par PingooO

Tags = [];

10 commentaires

Veille

Adobe Flash Player 10 : codename Astro

La Démo d\'Astro

Adobe vient tout juste de proposer en téléchargement une prerelease du Flash Player 10.

Une démo disponible sur le lab d’Adobe permet de se faire une petite idée des nouveautés qui nous attendent : 3D Native, accélération GPU (?!), Chaines IK (animateurs de tous pays, réjouissez vous…), gestionnaire de texte ameilloré, et surtout bien sûr les custom effects en Hydra Pixel Bender.

Update : Mais aussi File Reference (ouverture/écriture de fichiers locaux), génération de sons dynamiques, ECMAScript 4…etc.

Le 15 mai 2008 par kikko

Tags = ["", "", "", ""];

3 commentaires

Code

Trois petites méthodes…

…bien utiles pour des scrollbars (entre autre).

Qui ne s’est jamais pris la tête avec des scrollbars dans Flash ? Quand il faut calculer le ratio entre les positions du contenu et du bouton de scroll… Pour peu que la taille de la scrollbar soit différente de celle du conteneur, on s’en arrache vite les cheveux.

Bit-101 a transcrit en AS3 trois méthodes provenant d’un livre sur Processing.

normalize(value, min, max) prend une valeur comprise dans un intervalle min - max et la convertit en une valeur comprise entre 0 et 1. La valeur de départ peut dépasser les bornes de l’intervalle.

interpolate(value, min, max) prend une valeur normalisée (comprise entre 0 et 1) et renvoie la valeur correspondante dans l’intervalle min - max.

map(value, min1, max1, min2, max2) prend une valeur et un intervalle de départ (min1 - max1) et renvoie la valeur correspondante dans l’intervalle min2 - max2.

L’article original de Bit-101
Et la petite classe as3 :

package {
	public class NumberUtils {
		public static function normalize(value:Number, minimum:Number, maximum:Number):Number {
			return (value - minimum) / (maximum - minimum);
		}
		public static function interpolate(normValue:Number, minimum:Number, maximum:Number):Number {
			return minimum + (maximum - minimum) * normValue;
		}
		public static function map(value:Number, min1:Number, max1:Number, min2:Number, max2:Number):Number {
			return interpolate( normalize(value, min1, max1), min2, max2);
		}
	}
}

Le 14 mai 2008 par PingooO

Tags = ["", ""];

5 commentaires

Veille

Opera Dragonfly : le Firebug venu du froid

Opera, éditeur norvégien qui développe le navigateur éponyme, vient de sortir en version alpha Dragonfly, un débuggeur JavaScript / DOM fort prometteur. Opera souffrait depuis un moment du manque d’un tel outil, voyons si l’attente en valait la peine…

Bien évidemment, on ne peut s’empêcher de penser à Firebug, une application similaire existant pour Firefox sous forme d’extension. Celui-ci, maintenu par un développeur de chez Facebook, a réellement changé la vie des aficionados du JavaScript tant il simplifie lé débuggage d’applications JavaScript / AJAX complexes. (pendant ce temps, les développeurs Flash attendent toujours un débuggeur décent…)

Notez que Microsoft prépare également un outil dans le style pour Internet Explorer 8.

Opera Dragonfly en action

Ce qu’il y’a d’important à retenir sur Dragonfly :

  • l’appli est légère et assez réactive, contrairement à Firebug qui avait tendance à mettre Firefox 2 à genoux assez vite
  • Dragonfly se comporte comme un application web et se met donc à jour automatiquement
  • possibilité de débugger à distance, utile pour des terminaux mobiles ou des consoles (uniquement avec Opéra Mini pour le moment)
  • mise à jour du DOM en live
  • pas encore possible d’éditer le CSS à la volée, mais promis-juré c’est pour bientôt, qu’ils disent
  • Dragonfly est open source (licence BSD) : un premier pas d’Opera vers le libre ?
  • les gens d’Opera ont un accent rigolo.

Dragonfly est plutôt léché, mais n’offre en l’état pas grand chose de plus que Firebug. Ce n’est encore qu’une alpha et les gens d’Opera ont fait un tas de promesses alléchantes, donc wait and see…

“The initial alpha release is just the beginning. Opera Dragonfly has a fully featured road map, including support for editing of CSS, JavaScript and the DOM, a single window mode, improved JavaScript thread handling, XHR AND HTTP MONITORING, improved keyboard navigation, and translation into a number of languages.”

Dragonfly est livré avec Opera 9.5 beta 2. On accède ensuite à l’outil via Outils > Avancé > Outils de développeur, et ensuite il n’y a plus qu’à suivre le petit tutorial.

Le “oui mais t’a pas Firebug” étant généralement de mise lorsque l’on évoque Opera à un Firefox fanboy, voilà qui va peut-être un peu changer la donne et attirer un peu d’attention sur un navigateur qui le mérite largement (et qui passe le test Acid3, contrairement à d’autres…).

Le 10 mai 2008 par nerik

Tags = ["", "", "", "", ""];

5 commentaires

Veille

La YUI

Un peu de Javascript dans ce monde de flasheur bon sang de bois !

Et avant toute chose, je tenais à clarifier mon statut : je suis graphiste/webdesigner et non développeur pur souche. :)
Voila qui est dit, on peut donc partir sur de bonnes bases !

La YUI (pour Yahoo! User Interface et à prononcer “yaoui”) est la librairie Javascript écrite par le géant Yahoo! et qui comporte un nombre très intéressants de features pour la manipulation du DOM, la gestion d’Event et l’AJAX.
Le gros avantage de cette librairie sur les autres est sa robustesse puisque la YUI est compatible tout navigateur avec une gestion des links très aisées (pas besoins de charger toute la YUI pour une simple gestion d’event). Elle est donc beaucoup plus légère que le couple prototype/scriptaculous grâce à sa conception modulaire mais en revanche bien plus bavarde à cause des namespace.

yui

Lire le reste de cet article »

Le 8 mai 2008 par antoine

Tags = ["", ""];

4 commentaires

Veille

Flash en route vers la liberté ?

Billet original sur blogbangbang.com

Adobe à annoncé aujourd’hui la libération des spécifications des formats swf et flv !

Cet article va donc s’efforcer de détailler ce qui va changer, mais aussi ce qui ne changera pas suite à cette annonce.

Lire le reste de cet article »

Le 1 mai 2008 par jblanche

Tags = [""];

5 commentaires