Não consigo fazer a minha classe moduleButton se comunicar com a main.
Tenho um método público na classe moduleButton, e quero chamar ele na classe main (já dei import nesta classe), porém sempre que vou rodar o programa, no debugger aparece:
1180: Call to a possibly undefined method getInstance.
Mas o método existe, e é público!
Seguem os 2 AS
main
package classes
{
	
	import classes.moduleButton;
    import flash.display.MovieClip;
	import flash.display.Stage;
	import flash.display.StageScaleMode;
    import flash.display.StageDisplayState;
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	
	public class main extends MovieClip
	{
		private var myLoader : URLLoader;
		private var myRequest : URLRequest;
		private var xmlData : XML;
		private var numberOfSlides : Number;		
		
		
		public function main()
		{
			stage.displayState = StageDisplayState.FULL_SCREEN;
			stage.scaleMode = StageScaleMode.EXACT_FIT;
			displayStage();
		}
		
		private function displayStage():void
		{
			if (getInstance())
			{
				trace("CLICOU");
			}
			else
			{
				trace("EM BRANCO");
			}
		}
		
		public function XMLLoad():void
		{
			myLoader = new URLLoader();
			myRequest = new URLRequest("xml/modules.xml"); 
			myLoader.load(myRequest);			
			myLoader.addEventListener(Event.COMPLETE, XMLLoaded);
		}
		
		public function XMLLoaded(event:Event):void
		{
			xmlData = new XML(event.target.data);	
	
			numberOfSlides = xmlData.module[getInstance()].*.length();
				
			for (var n : Number = 0;n < numberOfSlides; n++) //percorre todas laminas do respectivo modulo
			{
				trace("Lamina: " +  xmlData.module[getInstance()].slide[n].name);
			}
		}
	}
}
moduleButton
package classes
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	
	public class moduleButton extends MovieClip
	{
		private var _instance : *;
		
		public function moduleButton()
		{
			this.buttonMode = true;
			this.addEventListener(MouseEvent.ROLL_OVER,animIn);
			this.addEventListener(MouseEvent.ROLL_OUT,animOut);
			this.addEventListener(MouseEvent.CLICK,setInstance);
		}
		
		private function animIn(e:MouseEvent):void
		{
			this.alpha -= .3;
		}
		
		private function animOut(e:MouseEvent):void
		{
			this.alpha = 1;
		}
		
		private function setInstance(e:MouseEvent):void
		{
			_instance = e.target.name.toString();
			_instance = _instance.substr(6);	
			_instance = Number(_instance);
		}
		
		public function getInstance():Number
		{
			return _instance;
		}
	}
}Alguma idéia do por que não conseguir chamar o método getInstance na classe main?
O que eu quero é receber a informação do que foi clicado (e essa informação eu recebo na classe moduleButton), e passar ela para o meu método XMLLoad -> XMLLoaded, que existe na classe main.
Ah, e a classe moduleButton é associada com meus botões que são movieClips (linkage).
A main é a classe principal do meu projeto.
obrigado
Edição feita por: Nicholas Pufal, 29/03/2010, 16:23.










