Entendendo override functions AS3
Yo yo parceiros do Flash.
Todo mundo me pergunta o porque de se usar uma funcao override em AS3, seguido eu ouço isso. pois bem se ouvir denovo vou mandar pra esse link, vou mostrar de forma rapida um lance que eu fiz pra por no meu framework e que eh bem util.
Conceito.
Functions override servem, como o nome diz, para sobrepor alguma funcao existente e deixar de acordo com a nossa necessidade. Vou mostrar no exemplo a baixo.
Usabilidade.
Nao sei por que diabos a Adobe nao fez o nextFrame(); quando chegar no ultimo frame de nossa timeline, fazer voltar para o primeiro frame, seria muito mais facil de controlar nosso filme, mas enfim, vamos fazer o nosso loop acontecer com o nextFrame();
View CodeACTIONSCRIPT | |
package com.zoo { import flash.display.MovieClip; /** * @author Marcelo Duende */ public class TimelineLoop extends MovieClip{ public var _target:MovieClip; public function TimelineLoop($target:MovieClip):void{ _target = $target; } /* Aqui notem que estou usando a override e chamo o metodo nextFrame(), dentro dele ponho um novo calculo para ele saber oq ue deve fazer, no caso, voltar para o primeiro frame caso esteja no ultimo */ override public function nextFrame():void { if (_target.currentFrame == _target.totalFrames){ _target.gotoAndStop(1); } else{ _target.gotoAndStop(_target.currentFrame + 1); } } public function nativeNextFrame():void { super.nextFrame(); } } } | |
Batuta ne? Sem segredo e rapidao, se quiser ver mais…
http://code.google.com/p/zoo-framework/source/browse/zoo-framework/src/com/zoo/TimelineLoop.as
Ai tem a @usage dele bem certinho.
Um abraco e bom estudo.

