Ajouter des propriétés à un MovieClip

En post Étendre MovieClip dans Flash MX j'ai eu une idée de prolonger d'un clip. En particulier, avait dit que l'utilisation de MovieClip.prototype ne permet pas l'extension de proprità mais seulement des méthodes suivantes:

[...] Deux limitations importantes de cette technique sont les suivantes:

  1. Il ne peut pas être appliquée à tous les objets exposés par Flash
  2. Ils peuvent être ", a ajouté" uniquement les méthodes et les propriétés ne sont pas [...]

En effet, il est possible, avec une étape supplémentaire, même ajouter dynamiquement des propriétés à l'aide MovieClip.prototype . , infatti, Flash permetteva l'aggiunta di proprietà (in lettura/scrittura o solo lettura) tramite il metodo addProperty() . Avant l'introduction de function get et function set , en fait, Flash a permis l'ajout de propriétés (lecture / écriture ou lecture seule) par l'intermédiaire du addProperty() . Dans la pratique cela se traduit par l'invocation de la méthode addProperty() et la définition des deux getters et setters. Le compositeur peut être null afin de créer propriété en lecture seule. Par exemple, si nous voulions étendre MovieClip avec un tout nouvel établissement _alpha capable d'animer, il suffit d'écrire le code suivant:

1
2
3
4
5
6
7
: Number { fonction _get_alpha (): Nombre {
this . _alpha ) ; retour (this. _alpha);
}
v : Number ) : Void { _set_alpha fonction (v: Nombre ): Void {
this , "_alpha" , Strong . easeOut , this . _alpha , v , 1 , true ) ; nouvelle Tween (this, "_alpha", Strong easeOut, ce _alpha, v, 1, true..);
}
prototype . addProperty ( "_alpha_tween" , _get_alpha , _set_alpha ) ; MovieClip .. prototype addProperty ("_alpha_tween" _get_alpha, _set_alpha);

A partir de maintenant, si nous avons un symbole "miosimbolo_mc" Nous pouvons exploiter cette nouvelle propriété:

1
; miosimbolo_mc _alpha_tween = 50.;

. Ce que vous pouvez faire à la place, est d'écraser les propriétés existantes, ce qui est pourquoi j'ai utilisé _alpha_tween lieu de _alpha . Voici donc, une bonne raison de continuer à utiliser les classes de 2.0 pour étendre - et pour résultat - toute MovieClip.

3 commentaires à "ajouter des propriétés à un objet MovieClip"

  1. 11 novembre 2007 Cristian :

    Il doit également considérer que la définition MovieClip.prototype ... cela s'applique à tout MovieClip sur la scène avec une perte conséquente de ressources par le joueur.
    Avec la POO et les classes introduites dans AS2.0 tout est devenu obsolète et obsolète.
    Bonjour et félicitations pour l'excellent post.

  2. 11 novembre 2007 Giovambattista Fazioli :

    Droit! La seule bonne chose à propos de cette méthode est dans le cas où tous les MovieClip doivent avoir une proprità ou méthode particulière. Dans ce cas, ou que vous créez une classe qui hérite de la classe IUnknown plus tard ou utiliser le MovieClip.prototype encore disponible ...

  3. 9 décembre 2007 upnews.it :

    undolog  »Blog Archive » Ajout de propriétés à un MovieClip ...

    En post Étendre MovieClip dans Flash MX j'ai eu une idée de prolonger d'un clip. En particulier, avait dit que l'utilisation de MovieClip.prototype ne permet pas l'extension de proprità mais seulement des méthodes suivantes: ...

Laisser un commentaire

TAG XHTML PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> code d'insertion:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL 


Arrêtez SOPA