Renderdelegation: une classe sur l'event.render du stage...

Soyez le premier à donner votre avis sur cette source.

Vue 2 758 fois - Téléchargée 279 fois

Description

Ceux qui connaissent l'event "RENDER" de l'objet "Stage", savent que la mise à jour d'un objet et son rendu via cet event est une tache "fastidieuse" car tres répétitive.

Je me suis donc créer une classe qui s'occupe de TOUT.
Ou presque, l'instance a redessiner devant contenir une fonction actualisant le contenu de ce dernier.

Bref, piur les initiés, un bon exemple vaut mieux que des lignes de textes... Ouvrir le SWF.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

top30
Messages postés
1158
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
6 août 2010
-
CORRECTION:
Avec l'Event.RENDER, le comcept est différent:
Chaque modification de propriété doit entrainer une EXECUTION "STAGE.INVALIDATE()" afin d'aviser celui-ci que l'instance n'est plus à jour Une fois aviser, quand le player actualise l'affichage, avant d'afficher l'instance désirée, il exécute l'écouteur passé lors de "stage.addEventListener("render", MON_ECOUTEUR);
Blacknight91titi
Messages postés
1754
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
1 -
Mmmh ok je comprend beaucoup mieux le concept.

Dans certains cas cela peut s'avérer fort utile (pour des modifications visuelles complexe nécessitant une forte demande CPU).

Comme tu le précise, cela dépend de la façon de penser du développeur.
Certains enchaîneront les modifications à la volée des propriétés (avec 3 ou 4 monDessin.couleur = [...]) tandis que d'autre stockeront la valeur de la propriété dans une variable intermédiaire et appliqueront cette valeur à la propriété seulement à la fin de leur script.

Un évènement intéressant à comprendre donc !

Merci à toi.
top30
Messages postés
1158
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
6 août 2010
-
Apparement, c'est un event lancer par le stage, pour effectuer un callback avant d'afficher le clip à l'écran.
Le chapitre sur "Event.RENDER" de mock est vraiement clair sur le principe. La classe moins, et encore moins si t'as pas lu le livre.

En gros: C'est pratique dans le cas de "composants" par exemple. Ou de classe d'objet de dessin, où chaque prorpiété influerait sur l'aspect visuel de l'instance.

Imagine que tu créer une classe de "Dessin".
Cette classe utilisant des props comme :
- Couleur
- Taille
- Filtres
Chaque props influant sur l'aspect visuelle. Dans la plupart des cas (je le faisait avant), chaque modifications des propriétés obligait l'instance à se redessiner. Si je fais "dessin.couleur= 0xFF6600", la modification devait changer la couleur du dessin, et don appeler une fonction de dessin actualisant l'objet. Mais si dans la même frame je fais "dessin.taille= 20", je reapellais la même fonction de dessin, et don l'exécecutait plusieurs foirs dans le Mème interval juste pour que le dessin puisse être modifié en temps réel.

Avec l'Event.RENDER, le comcept est différent:
Chaque modification de propriété doit entrainer une execution de l'Event.RENDER sur le stage afin d'aviser celui-ci que l'instance n'est plus à jour (Ceci ce faisaint a travers "stage.invalidate()".). Une fois aviser, quand le player actualise l'affichage, avant d'afficher l'instance désirée, il exécute l'écouteur passé lors de "stage.addEventListener("render", MON_ECOUTEUR);

Et donc plutot que d'exécuter une fonction "dessin.draw()" à chaque modification de propriété, il exécutera (par exemple) "dessin.draw()" à l'event "Render", et donc une seule fois dans la même frame.

C'est clair ?
C'est pas qu'il ya une facon de l'uliser selon ActionScript et ses régles, mais plus comment l'utilisateur programme. Il peut y avoir des cas de programmeurs qui ne vont jamais en avoir besoin, et d'autre selon leur facon de programmer, quasi toujours.
Blacknight91titi
Messages postés
1754
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
1 -
Hello Top30,

Une source qui mérite selon moi un peu plus de détail, en particulier sur la question que beaucoup se poseront :
"Dans quel cas l'utilise-t-on ?"
En évitant à tout prix la réponse "As tu lu le livre de Mock ?" qui représente un très grand nombre de page et qui traite de l'ActionScript 2 (d'après le lien de Greamlins7).

Un rapide coup d'oeil à la classe ne m'a pas réellement fait comprendre le cas d'utilisation de cet évènement.
Un petit tour du coté du dictionnaire AS3 non plus.

Merci pour ta contribution,

Blacknight
www.osteres.com
gremlins7
Messages postés
380
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
28 décembre 2009
-

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.