Bem vindo. Este é um blog de novas idéias e tudo que vier à cabeça

Fala aí pessoal, beleza?

Como com certeza acredito que muitos desenvolvedores perdem um bom tempo tentando desvendar os mistérios ocultos da programação, principalmente quando o mouse wheel do Flash não está funcionando nos browsers… Aí vai uma sugestão:

Tentem retirar o wmode do código Embed do HTML gerado pelo Flash, caso seja possível, e muito provavelmente seus problemas acabaram. :)

Tá perdido ainda? Calma, eu explico exemplifico:

Caso você esteja usando o EMBED padrão do Flash:

// remova a linha abaixo
<param name="wmode" value="transparent" />

E no caso de você estiver usando o SWFObject

//retirem a parte onde contém o wmode: 'opaque'.
swfobject.embedSWF('site_em_flash.swf', 'flash', '100%', '100%',
 '9.0.45', 'expressinstall.swf', {domain: '*'},{ wmode: 'opaque',
 scale: 'noScale'}, {id: 'website'});

Simples né? Bom, espero que ajude…

Um grande abraço,

Comente este post | gambit | 23 de novembro de 2009
EventDispatcher nada mais é que um evento de broadcast para configurar Listeners (objetos “escutadores”) que recebem o Evento e chamam a função associada a ele. Um exemplo: se você já usou a classe Key, dá pra ver que não é difícil adicionar um Listener a uma tecla enquanto você configura eventos, como onKeyDown, para ver se determinada tecla já foi acionada pelo usuário. Bom, mesmo se você nunca ouviu falar de EventDispatcher, há uma grande chance de já ter usado componentes e funções que utilizam o addEventListener, e não há dúvida de que você já usou a classe EventDispatcher sem saber. Bom, o objetivo desse mini-tutorial é explicar um pouco o que está por trás dos conceitos e como essa classe pode ser útil em seus projetos.
EventDispatcher possui um grupo de Listeners para cada evento que dá broadcast. Ele é bom quando você precisa de Listeners diferentes para diferentes eventos. Outra coisa que devemos notar é a habilidade do EventDispatcher de ter funções como parte de uma coleção de eventos. EventDispatcher é orientado a eventos, então você pode ter funções que serão chamadas uma vez que o evento é sinalizado ao seu broadcast.

actionscript-code

EventDispatcher nada mais é que um evento de broadcast para configurar Listeners (objetos “escutadores”) que recebem o Evento e chamam a função associada a ele. Um exemplo: se você já usou a classe Key, dá pra ver que não é difícil adicionar um Listener a uma tecla enquanto você configura eventos, como onKeyDown, para ver se determinada tecla já foi acionada pelo usuário. Bom, mesmo se você nunca ouviu falar de EventDispatcher, há uma grande chance de já ter usado componentes e funções que utilizam o addEventListener, e não há dúvida de que você já usou a classe EventDispatcher sem saber. Bom, o objetivo desse mini-tutorial é explicar um pouco o que está por trás dos conceitos e como essa classe pode ser útil em seus projetos.

EventDispatcher possui um grupo de Listeners para cada evento que dá broadcast. Ele é bom quando você precisa de Listeners diferentes para diferentes eventos. Outra coisa que devemos notar é a habilidade do EventDispatcher de ter funções como parte de uma coleção de eventos. EventDispatcher é orientado a eventos, então você pode ter funções que serão chamadas uma vez que o evento é sinalizado ao seu broadcast.

Tá mas isso tudo junto? “Che facciamo, Ronaldo?”

Antes de começar a meter a mão na massa, você deve entender como o broadcast é incializado. Da maneira mais básica: EventDispatcher é simplesmente um container de métodos que são dados a uma instância de broadcasting quando essa é inicializada. Dando uma olhadinha nessa função estática, nós podemos ver como os objetos devem ser configurados para começar a sessão de broadcast.

static function inicializar(objeto:Object):void {
if(_fEventDispatcher == undefined) {
_fEventDispatcher = new EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}

Executando esse método (inicializar), nós vemos quatro métodos e uma instância do EventDispatcher, que é passada para o objeto que a função recebe como parâmetro. O objeto pode agora chamar esses métodos como se fossem deles – ou no seu escopo. Quando o evento de broadcast começa, o “broadcaster” inicia um loop através de todos os listeners daquele evento e então chama a função associada a ele.

(continua…)

Tipo o final do episódio do Heroes, saca?

Comente este post | warmachine | 15 de julho de 2009

Acho que qualquer pessoa que mexe diáriamente com flash já teve pelo menos uma vez que repetir um bloco inteiro de animação para suavizar a transição entre telas, e que convenhamos é um trabalho chato e um tanto tosco de se executar propício a dar muitos problemas.

Pensando nisso eu pesquisei na web no google alguma maneira de fazer isso um pouco mais inteligente, e acabei achando um código de “Reverse Frames“. Bom, mas ainda não era isso que eu precisava, mesmo porque achei o código um pouco embolado e tendo colocar muitos parâmetros pra fazer o “bicho” funfar na moral, e acabei montando o codigozinho abaixo:

Essa versão é baseada em um protótipo de MovieClip, ou seja, todo o MovieClip colocado no projeto herda o método:

MovieClip.prototype.playReverse = function():Void {
this.onEnterFrame=function() {
if (this._currentframe != 1) {
this.prevFrame();
} else {
delete this.onEnterFrame;
}
}
}

E abaixo tem um complemento, na real, versão do código acima baseada em uma variável global, que pode ser enxergada por todo o projeto. Bem útil para quaisquer outro objeto que não seja MovieClips que se deseja usar o método;

_global.playReverse = function(obj:MovieClip):Void {
obj.onEnterFrame=function() {
if (obj._currentframe != 1) {
obj.prevFrame();
} else {
delete obj.onEnterFrame;
}
}
}

Para download:

playreverse

Comente este post | warmachine | 22 de setembro de 2008






Desenvolvido por Kaus Midia | Powered by Wordpress.org