Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Henrique

[Resolvido] Propriedades a objeto através de função:

Recommended Posts

Olá pessoas,

 

Em fim migrando para AS3, então estou estudando coisas básicas que mais utilizo e uma coisa que não estou conseguindo fazer é setar propriedades a um objeto através de uma função ex: criei um MC no palco instanciado como obj:

 

Antes AS2 era assim:

 

 

function funcao(){   obj._alpha = 50;   obj._x = 50;   obj._rotation = 50;   /// etc...}

 

No AS3 tem algumas coisa que estão me confundindo como:

 

 

btn.addEventListener(MouseEvent.MOUSE_DOWN, funcao); // aqui eu saquei como funcionafunction funcao(event:MouseEvent):void {	obj.alpha = 50; // não funciona        event.currentTarget.x=50; // funciona porém no botão, e pelo que entendi neste caso estou fazendo a mesma coisa que this._x = 50;         event.currentTarget.alpha=50; // Aqui fiquei confuso pois não funciona também nem substituindo currentTarget por target.}
Mas esquecendo currentTarget que na função está funcionando como this, eu queria saber como faço para setar as propriedades ao objeto através da função como no AS2 e como fazer o mesmo acontecer só que sem ter o click do botão, ou seja a ação iniciar junto com o compilação ex:

 

 

funcao(); // isto não funciona;function funcao(event:MouseEvent):void {	trace("Iniciou");}

Obrigado,

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Luiz como vai? Espero que bem, é o seguinte:

 

Criei um mc no palco chamado quad, o resto você saka e funciona, so que é aquela coisa a funcao é chamada logo que se inicia o processo de compilação, porém so uma vez.Se quiser uma repetição ai, você tem que recorrer ao ENTER_FRAME.


aplicaAttr(quad);

function aplicaAttr(mc:MovieClip):void{
	
	mc.alpha = .5;
	mc.x = 150;
	mc.rotation = 45;
	
	}

 

Se fosse através do click do mouse seria assim:

quad.addEventListener(MouseEvent.CLICK, aplicaAttr);
//aplicaAttr(quad);

function aplicaAttr(e:MouseEvent):void{
	
	e.currentTarget.alpha = .5;  //Tanto e.currentTarget como e.target funcionam.
	e.currentTarget.x = 150;
	e.currentTarget.rotation = 45;
	
	}



 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá rapaz,

 

Então acho que eu fiz uma besteira bem grande, não prestei atenção em algumas coisas, que na verdade eram simples, rsrs...

 

Mas obrigado, funcionou.

Abraço

 

 

E ai Luiz como vai? Espero que bem, é o seguinte:

 

Criei um mc no palco chamado quad, o resto você saka e funciona, so que é aquela coisa a funcao é chamada logo que se inicia o processo de compilação, porém so uma vez.Se quiser uma repetição ai, você tem que recorrer ao ENTER_FRAME.


aplicaAttr(quad);

function aplicaAttr(mc:MovieClip):void{
	
	mc.alpha = .5;
	mc.x = 150;
	mc.rotation = 45;
	
	}

 

Se fosse através do click do mouse seria assim:

quad.addEventListener(MouseEvent.CLICK, aplicaAttr);
//aplicaAttr(quad);

function aplicaAttr(e:MouseEvent):void{
	
	e.currentTarget.alpha = .5;  //Tanto e.currentTarget como e.target funcionam.
	e.currentTarget.x = 150;
	e.currentTarget.rotation = 45;
	
	}



 

Abs

 

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.