JONAS GALVEZ (521 pts)

JOTA LAGO (40 pts)

BÁRBARA TOSTES (64 pts)

DAUTON JANOTA (255 pts)

FÁBIO DUARTE (79 pts)

STICKMAN (155 pts)

MARCOS JOSÉ PINTO (44 pts)

GUILHERME SCHEIBE (49 pts)

IRAPUAN MARTINEZ (45 pts)

GABRIEL SPORCH (53 pts)

ZECA BALA (45 pts)

JOÃO NETO (78 pts)
Treinamento PontoFlash de Flash e ActionScript

Porque com o "With" não consigo atribuir um valor a uma variável?

Problemas com redimensionamento e ponto de registro.

Tenho tido problemas em puxar dados de XML para dentro do Flash 5.

Estou precisando contolar o volume de uma trilha sonora em loop em um site.

Como eu faço pra quando publicar não ficar um quadrado preto ao redor?

Relógio analógico.

Como usar "sendAndLoad" no Flash MX?

Tenho três sons para o usuário ligar e desligar, como fazer?

Como são feitos os efeitos da névoa no fundo e o efeito aquático do espantalho nesse site? http://www.mypetskeleton.com

Queria ver se é possível fazer com o que o som permaneça parado mesmo quando o movie se reinicia.

Onde teria algum recurso de upload, para enviar, via site, imagens para o servidor?

Como duplicar um movieclip (duplicateMovieclip) e colocá-los abaixo do original?

Determinado o fim do tellTarget.

Mais dicas para otimizar seu Flash Movie.
Menu circular em 3D personalizável

Componente ComboBox.

Animação com TextFields Dinâmicos

Dicas para otimizar seu SWF (revisado e atualizado).

Degradé com tons metálicos - Fireworks

3D Wireframe - segunda parte

RIA, Macromedia Flex e Laszlo Presentation Server

Janela popup.

A história do Flash.

Abrir PopUp no Flash com JS e ASP.

Elasticidade com ActionScript.

Alinhamento de objetos no Corel Draw
Menu Tsunami

Spiral show

Digit light

Fract1

Trocaalphadofundo

RGB random

Clock

Drag scroll texto

3d geo

Rater2

Multipletrail

Slicemenu 2
HOME | TRUQUES E DICAS
Começando a entender o evento onResize do objeto Stage.
por Jonas Galvez


Interessante: cole o seguinte script no Flash MX e depois execute.

new Function(this.onResize = function() {
this.clear();
this.lineStyle(3, 0);
this.moveTo(10, 10);
this.lineTo(Stage.width-10, 10);
this.lineTo(Stage.width-10, Stage.height-10);
this.lineTo(10, Stage.height-10);
this.lineTo(10, 10);
}).call(this);
Stage.addListener(this);
Stage.align = "TL";

Estou fazendo alguns experimentos com o evento onResize. Ele pode ser um recurso muito útil em alguns casos. Quem quiser saber mais, veja no dicionário do ActionScript os items "onResize" e "align" (objeto Stage)

--------------------------------------------------------------------------------
Opa... acho que há algo errado aqui:

}).call(this);

Não há nada errado no script, a chave se refere ao conteúdo do objeto e o parêntese à nova função. Funciona sem problemas.

Na verdade o Jonas poupou a escrita no código atribuindo o ".call(this)" sequenciando o objeto criado, faça o teste:

Retire o ".call(this)" da linha, dê um enter e coloque:
this.onResize.call(this);

Aliás, não há a necessidade do "this" para este caso:
this.onResize.call();
ou
}).call();


--------------------------------------------------------------------------------
Você está enganado.

O "call(this)" é realmente necessário, Dauton. Na verdade, o "call()" também executará a função, mas o "this", dentro da função, não estará apontando para a timeline na qual a função foi executada. Veja o seguinte exemplo:

this.simpleTest = function() {
trace(typeof this);
};

Teste com o seguinte código:

// object - aparentemente, um objeto vazio é passado
this.simpleTest.call();
// movieclip - agora sim, o resultado esperado
this.simpleTest.call(this);

new Function(this.onResize = function() {
this.clear();
this.lineStyle(3, 0);
this.moveTo(10, 10);
this.lineTo(Stage.width-10, 10);
this.lineTo(Stage.width-10, Stage.height-10);
this.lineTo(10, Stage.height-10);
this.lineTo(10, 10);
}).call();
// Stage.addListener(this);
Stage.align = "TL";

Note que a linha que faz com que a linha de tempo se torna listener do objeto Stage (Stage.addListener) não será executada. Nada aparecerá no SWF. Se você testar sem o (//) antes do Stage.addListener, o desenho só aparecerá porque o evento onResize foi chamado logo após a execução (o stage do Flash foi provavelmente redimensionado no Flash Player do Flash MX). Se você testar da seguinte forma:

new Function(this.onResize = function() {
this.clear();
this.lineStyle(3, 0);
this.moveTo(10, 10);
this.lineTo(Stage.width-10, 10);
this.lineTo(Stage.width-10, Stage.height-10);
this.lineTo(10, Stage.height-10);
this.lineTo(10, 10);
}).call(this);
// Stage.addListener(this);
Stage.align = "TL";

Agora sim, o desenho aparecerá

Jonas Galvez

0 comentário