Ver Mensaje Individual
  #17 (permalink)  
Antiguo 01/03/2006, 06:50
jorcri
 
Fecha de Ingreso: diciembre-2003
Mensajes: 120
Antigüedad: 20 años, 11 meses
Puntos: 0
bueno ahi va, al final con un compañero del curro nos tiramos hacia las clases ya que el domina mucho por ahi y a POO:

asi se resolvio el asunto, se vinculo a un archivo .as y se programaron los botones desde alli y las funciones de ellos:

Código:
class lib.Historia
{
 // creamos variables para referirnos a ellas en vez de a los datos y sea mas facil de modificar.
	private var _path:MovieClip;
	private var _mcAnimaciones:MovieClip;
	private var _btnLast:MovieClip;
	// total botones
	private var _totalAnims:Number = 20;
	
	public function Historia(timeline:MovieClip)
	{
		_path = timeline;
		_mcAnimaciones = _path["Animaciones"];
		
		configBottom();
		configPages();
		
		btnRelease(_path["btn_0"]);
	}
	// se configuran otros botones para poder ir adelanta y atras!
	private function configPages():Void
	{
		var obj:Object = this;
		_mcAnimaciones["atras"].onRelease = function(){ obj.pageLeft(); }
		_mcAnimaciones["adelante"].onRelease = function(){ obj.pageRight(); }
	}
	// se controla que cuando llegue al fotograma 1 no intente ir mas hacia atras y lance un error
	private function pageLeft():Void
	{
		var id:Number = _btnLast.id;
		
		if(id>0)
		{
			id--;
			btnRelease(_path["btn_"+id]);
		}
	}
	// se controla hastq eu fotograma tiene que llegar
	private function pageRight():Void
	{
		var id:Number = _btnLast.id;
		
		if(id<_totalAnims-1)
		{
			id++;
			btnRelease(_path["btn_"+id]);
		}		
	}	
	// se configuran los estados de los botones!
	private function configBottom():Void
	{
		var obj:Object = this;
		
		for (var i:Number=0;i<_totalAnims;i++)
		{
			_path["btn_"+i].id = i;
			_path["btn_"+i].stateOver = function()
			{
				this.gotoAndPlay("over");
			}
			_path["btn_"+i].stateOut = function()
			{
				this.gotoAndPlay("out");
			}			
			_path["btn_"+i].stateOn = function()
			{
				this.gotoAndPlay("on");
			}	
			_path["btn_"+i].stateOff = function()
			{
				this.gotoAndPlay("off");
			}				
			
			_path["btn_"+i].onRollOver = function(){ obj.btnOver(this); }
			_path["btn_"+i].onRollOut = function(){ obj.btnOut(this); }
			_path["btn_"+i].onRelease = function(){ obj.btnRelease(this); }
		}		
	}
	
	private function btnOver(btn:MovieClip):Void
	{
		if(_btnLast!=btn) btn.stateOver();
	}	
	
	private function btnOut(btn:MovieClip):Void
	{
		if(_btnLast!=btn) btn.stateOut();
	}		
	
	private function btnRelease(btn:MovieClip):Void
	{
		if(_btnLast!=btn)
		{
			_btnLast.stateOff();
			_btnLast = btn;
			_btnLast.stateOn();
			
			_mcAnimaciones.gotoAndStop("anim_"+btn.id);
		}
	}
}

La verdad yo nunca habia programado de esta manera, me hago un lio, pero veo que es mucho mas ordenado y facil de reprogramar y reutilizar, asiq eu voy aprendiendo.

Mahalo darte las gracias por la ayuda!!

un saludo!!!
__________________
jorcri...