Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel-Lopes

Criar funções no flash

Recommended Posts

pessoal quero criar uma função no flash 9 e assim que terminar de executar o procedimento nela contido quero chamar uma outra função ou um evento.

Um exemplo do que eu quero ocorre quando você pede o flash para carregar variaveis externas ou uma foto, no qual quando termina o procedimento ele executa o onLoad assim que termina.

 

Ja vi alguns exemplos do pessoal usando o ASbroadcaster, mas parece que no flash 9 (CS3) ele não funciona mais.

 

 

Comos você fazem para realizar este procedimento ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A criação da função é normal em toda linguagem você cria uma função da mesma forma.O que você quer basicamente é criar uma funcao e depois de rodar ela execute alguma coisa, você pode colocar um ouvinte pra quando terminar a funcao o ouvinte dispara alguma coisa.

 

Como eu sou bomzim, vo postar um exemplo pra você aqui... rsrsrs

 

A funcao se chama LoaderExample, bem o que ela faz cria uma variavel, chamada loader , que vai ser responsavel por carregar a imagem, entao como você quer executar alguma coisa depois disso eu fiz um ouvinte que dispara que a imagem esta carregada...

package {
  import flash.display.*;
  import flash.text.*;
  import flash.net.URLRequest;
  import flash.events.*;

  public class LoaderExample extends Sprite {
	public function LoaderExample(  ) {
	
	  var loader:Loader = new Loader(  );
	  addChild( loader );
	  
		  loader.contentLoaderInfo.addEventListener( Event.COMPLETE, handleComplete );
	  
	  
	  loader.load( new URLRequest( "image.jpg" ) );
	}
	
 
	private function handleComplete( event:Event ):void {
	  trace( "Imagem Carregada com sucesso" );
	}
  }
}

abs e espero que ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caleu pessoal....

 

Bom Dei uma olhada no que postaram e me ajudou mas ainda resta uma duvida sobre AS2.0

 

Bom, eu criei uma animação em tres movie clips distintos ou seja é executado o primeiro, depois que chega ao ultimo frame do primeiro chama se o segundo e depois o terceiro.

neste terceiro tem uns botões que quando clicados ele retrocede a animação (ate vi um exemplo na net chamado rebobinar foi dai que tive a ideia). so que quando termina de retroceder o primeiro eu não consigo enviar uma resposta (um event) informando que terminou de retroceder para começar a retroceder o outro.

queria saber em AS 2.0 como enviar essa resposta da mesma forma que acontece neste exemplo (que so roda se eu configurar o flash 9 para rodar como Flash Player 6.0

vejam

_global.Alpha = function(obj) {
	if (typeof obj == "movieclip") {
		this.addListener(this);
		this.start = 0;
		this.end = 100;
		this.ease = 0;
		this.obj = obj;
		this.fps = 30;
		this.vel = 2;
	}
};
Alpha.prototype.refresh = function() {
	if (this.ease != 0) {
		var veloc = (this.end-int(this.obj._alpha))/this.ease;
		this.obj._alpha += veloc;
		if (Math.abs(veloc)<=0.35) {
			this.obj._alpha = this.end;
			this.broadcastMessage("onFinish");
			clearInterval(this.timer);
		}
	} else {
		this.obj._alpha += this.vel;
		if (((this.vel>0) && (this.obj._alpha>=this.end)) || ((this.vel<0) && (this.obj._alpha<=this.end))) {
aqui termina a função e é chamado o evento onFinish

this.broadcastMessage("onFinish");[/b]
			clearInterval(this.timer);
		}
	}
	updateAfterEvent();
};
Alpha.prototype.play = function() {
	if (this.fps>0) {
		this.obj._alpha = this.start;
		if ((this.start>this.end) && (this.vel>0)) {
			this.vel *= -1;
		}
		this.timer = setInterval(this, "refresh", 1000/this.fps);
	}
};
ASBroadcaster.initialize(Alpha.prototype);
ASSetPropFlags(Alpha.prototype, "refresh", 7);
ASSetPropFlags(Alpha.prototype, "play", 7);

 

o que chama a prototype é é:

 

on (release) {
	var Alfa= new Alpha(teste);
	Alfa.start = 100;
	Alfa.end = 0;
	Alfa.fps = 12;
	Alfa.ease = 10;
	Alfa.play();
	Alfa.onFinish = function() {
							   // quando termina chama esta função
		trace("acabou");
	};
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.