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!!!