Na Mensagem Estender MovieClip no Flash MX eu tive alguns insights para estender um MovieClip. Em particular, tinha dito que a utilização de MovieClip.prototype não permitir a extensão da proprità mas apenas de métodos:
[...] Dois importantes limitações desta técnica são:
- Ele não pode ser aplicado a todos os objectos expostos pelo Flash
- Eles podem ser "adicionado" apenas métodos e propriedades não fazer [...]
Com efeito, é possível, com um passo extra, mesmo dinamicamente adicionar propriedades usando MovieClip.prototype . , infatti, Flash permetteva l'aggiunta di proprietà (in lettura/scrittura o solo lettura) tramite il metodo addProperty() . Antes da introdução da function get e function set , de facto, Flash permitiu a adição de propriedades (leitura / escrita ou de leitura apenas), através da addProperty() . Na prática, isto resulta na invocação do método addProperty() ea definição de dois getters e setters. O setter pode ser null , a fim de criar read-only propriedade. Por exemplo, se quiséssemos estender MovieClip com uma propriedade de todos os novos _alpha capaz de animar, basta escrever o seguinte código:
1 2 3 4 5 6 7 | : Number { _get_alpha function (): Número { this . _alpha ) ; de retorno (this. _alpha); } v : Number ) : Void { _set_alpha função (v: Número ): Void { this , "_alpha" , Strong . easeOut , this . _alpha , v , 1 , true ) ; novo Tween (this, "_alpha", Strong easeOut, este _alpha, v, 1, true..); } prototype . addProperty ( "_alpha_tween" , _get_alpha , _set_alpha ) ; MovieClip .. protótipo AddProperty ("_alpha_tween" _get_alpha, _set_alpha); |
A partir de agora, se temos um símbolo "miosimbolo_mc" Podemos explorar esta nova propriedade:
1 | ; miosimbolo_mc _alpha_tween = 50.; |
. O que você pode fazer em vez disso, é substituir as propriedades existentes, razão pela qual eu usei _alpha_tween em vez de _alpha . Aqui, então, uma boa razão para ainda usar as classes para 2.0 ampliarão - e resultados - qualquer MovieClip.







Últimos Comentários
Gabriel : Olá, interessante artigo. Eu preciso de algo semelhante, mas com algumas mudanças. Em um ...
sebastian : grande parcela - muito obrigado!
Assunto : muito útil mesmo! Eu tentei isso e é exatamente o que eu precisava. Agora eu quero saber como faço para obter ...
vik : Com a ajuda estratégica!
Pimenta : Olá, eu não sei se você é um dos criadores do plugin WP Bannerize. Tenho visto um ...