..:: MX Studio Fóruns ::..: Movendo no eixo x e y - Classes AS3 - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Movendo no eixo x e y - Classes AS3

#1 User is offline   edergabriel 

  • Group: Membros
  • Posts: 17
  • Joined: 24-November 09

Posted 18 July 2011 - 10:31 PM

Oi Pessoal! Coloquei na tela, um retângulo mas não estou conseguindo movê-lo no eixo x. Não entendi o que eu fiz de errado. Coloquei o código em anexo abaixo.

Obrigado!

Link para os arquivos
0

#2 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 19 July 2011 - 02:10 PM

Reorganizei seus arquivo, a explicação está inserida no próprio fla.
http://download1339....ument_class.zip

Vale a pena entender como configurar Document Class pra não precisar dar "new Main()" na timeline.
http://active.tutspl...class-in-flash/

As classes ficaram assim:

Main.as (Document Class):
/**
 * Document class: é a primeira classe que será chamada pelo Flash assim que compilar o arquivo(gerar um swf).
 * obrigatoriamente deve estender a classe MovieClip(se usar timeline) ou Sprite
 */

package scripts
{
	import flash.display.*;
	import flash.text.*;
	import flash.events.*;
	
	
	/**
	 * Toda Docunet Class Deve obrigatoriamente deve
	 * estender a classe MovieClip(se usar timeline) ou Sprite
	 */
	public class Main extends MovieClip
	{
		public var mcColuna:Coluna; //objeto na biblioteca adicionado via linkage
		
		
		public function Main()
		{
			//se o stage existe executa init(), se não, espera quando estiver disponível
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
			
			trace("* objeto Main foi criado.");
		}
		
		
		//inicia as propriedades dos objetos aqui...
		private function init(e:Event=null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init); //remove evento
			
			//código começa aqui...
			
			
			//cria objeto e adiciona no stage
			mcColuna = new Coluna();
			addChild(mcColuna);
		}
		
		
	}

}



A classe Coluna.as se auto-gerencia.
No flash, O linkage do objeto fica com nome: scripts.Coluna
/**
 * Essa classe controla o movieclip, segue um exemplo de manipulação do conteúdo.
 */

package scripts
{
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.events.MouseEvent;
	
	
	/**
	 * A classe deve estender movieClip, pois foi criado um MC na biblioteca/linkage
	 */
	public class Coluna extends MovieClip
	{
		
		public var estaLigado:Boolean = false;
		
		
		public function Coluna()
		{
			//se o stage existe executa init(), se não, espera quando estiver disponível
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
			
			trace("* objeto coluna foi criado.");
		}
		
		
		//inicia e controla as propriedades dos objetos aqui...
		private function init(e:Event=null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init); //remove evento
			
			//código começa aqui...
			
			//configura objeto
			x = 200;
			y = 100;
			rotation = 30;
			addEventListener(MouseEvent.CLICK, onClick); //adiciona evento
			buttonMode = true;
		}
		
		
		//quando clicar....
		private function onClick(e:MouseEvent):void 
		{
			trace("clicou");
			
			//inverte valores de ligado/desligado...
			estaLigado = !estaLigado;
			
			//se estiver ligado, anima, se não, para a animação.
			if(estaLigado)
				addEventListener(Event.ENTER_FRAME, onEnterFrame);	//adiciona evento
			else
				removeEventListener(Event.ENTER_FRAME, onEnterFrame); //remove evento
		}
		
		
		//quando houver atualização de frame...
		private function onEnterFrame(e:Event):void 
		{
			rotation += 5; //rotaciona
		}
	}
	
}



Abraço.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)