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

lundi 14 décembre 2009

Un bug connu, mais quand même...

J'avais jamais été confronté au problème. Maintenant c'est fait... Il s'agit du bug des bibliothèques multiples !

Il est connu, listé ici Wrong number of libraries opened when multiple libraries are on screen (Flash CS4 Professional) mais c'est juste incroyable que ce genre de bug existe. Et la solution donnée est expéditive !

Vous le connaissiez ?

mercredi 19 août 2009

Primitives bug

Pour éviter les trolls, ça buggue pareil dans CS3...

vendredi 26 juin 2009

Comment récuperer le résultat d'un FileReference.upload ?

Depuis Flash 8 on peut uploader des images avec l'objet FileReference, mais quand on écoute Event.COMPLETE, on ne peut rien avoir des retours du serveurs.

Ca peut être utile pourtant que le PHP écrive en retour par exemple un petit XML avec le nom du fichier renommé, etc...

En fait il faut écouter DataEvent.UPLOAD_COMPLETE_DATA. C'est dans la doc maintenant mais ça ne l'était pas dans celle que j'avais, donc si vous le saviez tant mieux, mais ça coute rien de le dire...

mercredi 10 juin 2009

HAHAHA AHAHAHA AHAHAHA !!!!

Je viens de recevoir une pub Adobi trop bien :)))) Un grand éclat de rire :))))

Lire la suite

jeudi 14 mai 2009

Ca y est, elle est là

L'update de CS4 bien sûr.

http://www.adobe.com/support/flash/downloads.html#flashCS4

Ca peut pas faire de mal.

jeudi 16 avril 2009

Problème de poids ? de taille ? La solution : Pratique d'ActionScript 3 par Thibault Imbert !

Dans le milieu des geeks assis sur des chaises on a souvent des problèmes de croissance. Trop grand, trop maigre ou au contraire petit dense et tassé. Avec "Pratique d'ActionScript 3 par Thibault Imbert", vos soucis disparaissent car il possède deux agents actifs révolutionnaires !

Lire la suite

dimanche 11 janvier 2009

UML et génération de classes AS3

J'en aurais testé pas mal des logiciels open source capables de faire des schémas UML, mais jusque la je n'étais jamais satisfait. Comme mon boulot évolue et que je passe plus de temps a faire de la conception plutôt que du code, j'ai continué à creuser et voila que j'ai enfin trouvé celui qui allait: StarUML. Simple, efficace et surtout capable de générer les classes ActionScript 3 qui vont bien derrière.

Si ca vous interesse, tout est la: http://www.senocular.com/flash/tutorials/starumltoas3/

lundi 1 décembre 2008

Flash CS4 c'est vraiment completement pourri !!!!

J'en peux plus, mais comment ils ont fait pour nous sortir ce truc

Lire la suite

mercredi 15 octobre 2008

Sortie du flash player 10

On se la pète chez Adobe pour la sortie du lecteur 10: http://www.adobe.com/products/flashplayer/ en vidéo

Aller et pour raller quand même un peu ;), C'est super on peut créer dynamiquement du son mais on est toujours pas foutu de récuperer la position d'un son précisement...

jeudi 3 juillet 2008

L'AS3 calcule plus vite...

... dommage qu'il soit nul en maths !

trace (0.01 * 1624);

Résultat : 16.240000000000002

Wééééé...

lundi 23 juin 2008

Réduction de BitmapData & Smoothing : Pourquoi c'est pas beau (et comment améliorer)

En Flash on peut être amené à manipuler des BitmapData, par exemple si on code les vignettes d'une galerie photo (c'est un exemple qui revient souvent ;-)... Voilà une première méthode "brute" qui prend un BitmapData et en retourne un autre au ratio voulu :

public static function reduceBitmapData (bmp:BitmapData, ratio:Number, transparent:Boolean = true):BitmapData {
	var bmpData:BitmapData = new BitmapData(Math.round(bmp.width * ratio), Math.round(bmp.height * ratio), transparent, 0x00FFFFFF);
	var scaleMatrix:Matrix = new Matrix(bmpData.width / bmp.width, 0, 0, bmpData.height / bmp.height, 0, 0);
	bmpData.draw(bmp, scaleMatrix);

	return (bmpData);
}

Et là forcement, on se rend vite compte que le résultat est pas génial. Donc on se dit que le paramètre smoothing de la méthode draw est LA solution, et on utilise un truc du genre :

public static function resizeBitmapData (bmp:BitmapData, ratio:Number, transparent:Boolean = true):BitmapData {
	var bmpData:BitmapData = new BitmapData(Math.round(bmp.width * ratio), Math.round(bmp.height * ratio), transparent, 0x00FFFFFF);
	var scaleMatrix:Matrix = new Matrix(bmpData.width / bmp.width, 0, 0, bmpData.height / bmp.height, 0, 0);
	var colorTransform:ColorTransform = new ColorTransform();
	bmpData.draw(bmp, scaleMatrix, colorTransform, null, null, true);
	
	return (bmpData);
}

Cruelle déception... autant ça donne des résultats corrects quand le ratio est proche de 1, autant les différences avec la méthode précédente sont quasi nulles quand on demande une grosse réduction... Pourquoi ?

Eh bin tout simplement parce que le filtre utilisé par Flash est un filtre bilinéaire, et qu'il est bien connu (c'est marqué dans Wikipedia) que ce filtre, rapide, trouve rapidement ses limites dans les ratio < 50% ou > 200%

Y'a rien à faire alors ?

Bah non...

Nan attendez, revenez, j'aurais pas fait un billet juste pour un pauv' paramètre smoothing. Si le filtre bilineaire est efficace pour des ratio de 50%, on va simplement procéder récursivement de 50% en 50% jusqu'au ratio voulu :

public static function resampleBitmapData (bmp:BitmapData, ratio:Number, transparent:Boolean = true):BitmapData {
	if (ratio >= 1) {
		return (BitmapManager.resizeBitmapData(bmp, ratio, transparent));
	}
	else {
		var bmpData:BitmapData 	= bmp.clone();
		var appliedRatio:Number = 1;
		
		do {
			if (ratio < 0.5 * appliedRatio) {
				bmpData = BitmapManager.resizeBitmapData(bmpData, 0.5, transparent);
				appliedRatio = 0.5 * appliedRatio;
			}
			else {
				bmpData = BitmapManager.resizeBitmapData(bmpData, ratio / appliedRatio, transparent);
				appliedRatio = ratio;
			}
		} while (appliedRatio != ratio);
		
		return (bmpData);
	}
}

Les calculs sont un peu plus longs (on a rien sans rien), mais les résultats sont maintenant dignes d'un PhotoShop !

Pour les flemmards, le fichier regroupant les 3 méthodes est ici

[UPDATE du 2009-08-28] J'ai incorporé les modifs pour que cela fonctionne aussi avec les Bitmap avec transparence.

jeudi 15 mai 2008

Flash Player 10 BETA

Allez cette fois-ci c'est pas un poisson d'avril, la beta du nouveau Flash Player 10 "Astro" est disponible sur le lab Adobe

Et moi qui compile encore en 8 dans 95% des cas... -__-'

jeudi 1 mai 2008

SWF, format propriétaire, mais format ouvert !

C'est nouveau et ça cloue enfin le bec à tous ceux qui reprochaient à Flash d'utiliser un format "fermé" (ce qui était déjà pas totalement juste) : Le format SWF 9 est maintenant clairement ouvert, documenté (ça c'est pas nouveau), et désormais sans aucune restrictions sur son utilisation (ça c'est nouveau) !

Une bonne nouvelle dans le cadre du Open Screen Project

[Source : Open at Adobe via FCNG]

vendredi 25 avril 2008

Flash est encore passé en qwerty pfff

Comme toujours, si vous êtes un vrai killer de Flash et de Windows, vous allez doucement rigoler en lisant ce post mais pour les goonies comme moi, voila une petite astuce qui m'est venu aujourd'hui. La connexion neuronale s'est faite au moment ou je dessinais un cercle parfait depuis le centre !

Il vous est peut-être déjà arrivé de voir Flash passer subitement en anglais. Tout cela s'explique par une combinaison de touche fréquemment utilisée dans l'environnement auteur: SHIFT+ALT. Cette combinaison est également utilisée par Windows comme raccourci pour basculer le clavier dans la langue suivante dans la liste des langues installées pour le clavier, généralement l'anglais.

Pour éviter ca, il vous suffit de virer l'anglais de la liste des claviers supportés, trop fort...

PS: Une petite astuce ca fait toujours du bien en attendant "Pratique de la planche à voile avec Thibault Imbert et Mabrouk" bientot en Open source sur ByteArray.org !

mardi 1 avril 2008

Flash player 9.0.122beta

Le nouveau flash player 9.0.122 est disponible en beta sur labs.adobe.com.

Parmi les nouveautés :

  • Tous les bugs sur les TextFields ont été corrigés !
  • Support d'une nouvelle coordonnées z pour les clips, comme présenté lors du MAX
  • Possibilité de proposer en téléchargement le contenu d'un bytesArray
  • Support complet du XHTML 1.1 dans les TextFields
  • Gestion du deuxième bouton de la souris
  • Compatibilité Silverlight 1.1

Les performances ont été grandement améliorées, approchant maintenant quasiment celles d'un PC d'il y a 15 ans !
Disponible sur Windows, Linux et machine Nespresso. On comprend mieux le nom de code de ce player, "RamboSix", parce qu'il tue tout !