pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 2013
-
30 avril 2009 à 23:28
cs_mnem0
Messages postés3Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention29 septembre 2009
-
29 sept. 2009 à 19:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_mnem0
Messages postés3Date d'inscriptionmercredi 10 mars 2004StatutMembreDernière intervention29 septembre 2009 29 sept. 2009 à 19:57
Très bel effet et très pratique. Cela dit, si j'applique une interpolation de mouvement sur l'objet cible du HDRGlow, j'obtiens une erreur :
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
l'erreur porte sur var mat2:Matrix=context.getChildAt(i).transform.matrix;
artkabis
Messages postés30Date d'inscriptionsamedi 10 mai 2008StatutMembreDernière intervention25 février 2010 29 juil. 2009 à 02:52
Après avoir regardé longuement les sources, je dois dire que c'est plutôt du beau travail, l'effet est bien sûr réussi, mais c'est plutôt le code qui m'a impressionné. En tout cas le résultat est concluent et la manière pour y arriver est franchement convaincante. Bien joué !!!
Mansuz
Messages postés169Date d'inscriptionlundi 11 décembre 2006StatutMembreDernière intervention25 janvier 20141 1 mai 2009 à 19:55
Super rendu ! Bonne source.
stefbuet
Messages postés576Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention12 mai 2009 1 mai 2009 à 02:02
Salut,
Ouf, j'ai enfin réussi à trouver une solution pour palier aux problèmes de crénelage! J'ai aussi corrigé l'erreur dans la classe Exemple01 et changé la méthode d'affichage de l'effet. En effet simplement utiliser l'evenement MOUSE_MOVE au lieu de ENTER_FRAME n'aurait rien changé car l'objet HDRGlow s'update automatiquement via ENTER_FRAME. J'ai donc utilisé la fonction drawHDRGlow static sans utiliser le reste de la classe HDRGlow (technique détaillé dans la doc de la classe) et ainsi je n'appel cette fonction qui calcul l'effet uniquement lors des evenements MOUSE_MOVE et la il y a bcp moins de calculs effectués!
Stef.
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 30 avril 2009 à 23:28
Effet très sympa, mais juste quelques remarques/conseils :
- il y a des erreurs dans Exemple01.as : il faut changer "public function Exemple00()" par "public function Exemple01()" pour que ça foncitonne
- L'EnterFrame est trop "bouffe-source" et n'utilise pas les capacités réelle de la machine, le mieux est de le remplacer par un MOUSE_MOVE sur le stage et d'ajouter "e.updateAfterEvent()" à la fin de la fonction "update". Par contre, tu perds le calcul de frameRate ...
- Il est dommage de voir cet effet de crénelage moche sur les surfaces non planes vectorielles. J'ai testé avec un gif transparent (sans % d'alpha) et ça passe nickel, par contre il y a des erreurs d'approximations sur les png avec dégradés alpha.
Un premier jet très prometteur, mais quelques réglages fins à faire ...
29 sept. 2009 à 19:57
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
l'erreur porte sur var mat2:Matrix=context.getChildAt(i).transform.matrix;
pourtant, mon code as est simpliste :
import classes.stefbuetFX.HDRGlow;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.filters.GlowFilter;
var HDR:HDRGlow=new HDRGlow(rect);
addChild(HDR);
Quelqu'un serait il en mesure de m'aider ?
29 juil. 2009 à 02:52
1 mai 2009 à 19:55
1 mai 2009 à 02:02
Ouf, j'ai enfin réussi à trouver une solution pour palier aux problèmes de crénelage! J'ai aussi corrigé l'erreur dans la classe Exemple01 et changé la méthode d'affichage de l'effet. En effet simplement utiliser l'evenement MOUSE_MOVE au lieu de ENTER_FRAME n'aurait rien changé car l'objet HDRGlow s'update automatiquement via ENTER_FRAME. J'ai donc utilisé la fonction drawHDRGlow static sans utiliser le reste de la classe HDRGlow (technique détaillé dans la doc de la classe) et ainsi je n'appel cette fonction qui calcul l'effet uniquement lors des evenements MOUSE_MOVE et la il y a bcp moins de calculs effectués!
Stef.
30 avril 2009 à 23:28
- il y a des erreurs dans Exemple01.as : il faut changer "public function Exemple00()" par "public function Exemple01()" pour que ça foncitonne
- L'EnterFrame est trop "bouffe-source" et n'utilise pas les capacités réelle de la machine, le mieux est de le remplacer par un MOUSE_MOVE sur le stage et d'ajouter "e.updateAfterEvent()" à la fin de la fonction "update". Par contre, tu perds le calcul de frameRate ...
- Il est dommage de voir cet effet de crénelage moche sur les surfaces non planes vectorielles. J'ai testé avec un gif transparent (sans % d'alpha) et ça passe nickel, par contre il y a des erreurs d'approximations sur les png avec dégradés alpha.
Un premier jet très prometteur, mais quelques réglages fins à faire ...
Peg'