Si, bien, tengo varias clases. Principalmente esta la clase del sitio y la clase de los botones. Aca pongo la clase del sitio con lo mas relevante, de cualquier manera esta todo hecho asi, asiq si hay algo mal esta igual en las otras clases:
Código :
package {
import flash.display.BitmapData;
//(... hago todos los imports)
public class Site extends MovieClip
{
//guardo una referencia a los botones y las ventanas para poder manejarlos desde aca
private var btnContacto:MovieClip = null;
private var btnServicios:MovieClip = null;
private var btnAgenda:MovieClip = null;
private var btnSalon:MovieClip = null;
private var btnVolver:MovieClip = null;
private var activeWindow:MovieClip = null;
//algunas constantes de confirguracion
public static var BUTTON_TWEEN_DURATION = 2;
//(... mas constantes...)
public function Site ()
{
//esto lo hago porque el swf es cargado por otro que hace de preloader
this.addEventListener("addedToStage",initScene);
}
//aca empieza el tema: agrego los elementos al stage y los muestro
public function initScene(e:Event):void{
var tablon:MovieClip = new Tablon(Site.URL_TABLON);
tablon.x = 441;
tablon.y = - tablon.height;
addChild(tablon);
this.showObject(tablon,tablon.y,0,1);
//////////////////////
var nube3:MovieClip = new NubeTres();
nube3.x = 20;
nube3.y = - nube3.height;
addChild(nube3);
this.showObject(nube3,nube3.y,0,Site.ELEMENTS_TWEEN_DURATION);
////////////////////// BUTTONS
this.createButtons();
setTimeout(this.showButtons,Site.ELEMENTS_TWEEN_DURATION * 1000);
/////////////////////////////////////////
var nube1:MovieClip = new NubeUno();
nube1.x = 453;
nube1.y = -nube1.height;
addChild(nube1);
this.showObject(nube1,nube1.y,0,Site.ELEMENTS_TWEEN_DURATION);
var nube2:MovieClip = new NubeChica();
nube2.x = 253;
nube2.y = - nube2.height;
addChild(nube2);
this.showObject(nube2,nube2.y,0,Site.ELEMENTS_TWEEN_DURATION);
var musicBox:MovieClip = new SiteMusicBox();
this.addChild(musicBox);
musicBox.show(462);
///////////// VOLVER BUTTON
this.btnVolver = new VolverButton();
this.btnVolver.addEventListener(MouseEvent.CLICK,volverClick_handler);
this.addChild(this.btnVolver);
var mouse:MovieClip = new MouseTrail();
addChild(mouse);
var logoSitio:MovieClip = new Logo();
logoSitio.x = 0;
logoSitio.y = -logoSitio.height;
this.addChild(logoSitio);
this.showObject(logoSitio,logoSitio.y,0,Site.ELEMENTS_TWEEN_DURATION);
}
public function createButtons():void
{
this.btnContacto = new ButtonContacto();
addChild(this.btnContacto);
this.btnContacto.addEventListener(MouseEvent.CLICK,this.buttonClick_hanlder);
this.btnServicios = new ButtonServicios();
addChild(this.btnServicios);
this.btnSalon = new ButtonSalon();
addChild(this.btnSalon);
this.btnSalon.addEventListener(MouseEvent.CLICK,this.buttonClick_hanlder);
this.btnAgenda = new ButtonAgenda();
addChild(this.btnAgenda);
}
public function showButtons():void
{
if(this.activeWindow is SiteWindow)
this.removeChild(this.activeWindow);
this.btnContacto.show(33);
this.btnServicios.show(173);
this.btnAgenda.show(272);
this.btnSalon.show(468);
}
public function hideButtons():void
{
this.btnContacto.hide();
this.btnServicios.hide();
this.btnSalon.hide();
this.btnAgenda.hide();
}
public function buttonClick_hanlder(e:Event)
{
this.hideButtons();
var window:String;
if(e.target is ButtonContacto)
window = "contacto";
if(e.target is ButtonSalon)
window = "salon";
setTimeout(showWindow,Site.BUTTON_TWEEN_DURATION * 1000,window);
}
public function showWindow(arg:String)
{
switch(arg)
{
case "contacto":
this.activeWindow = new WindowContacto(Site.URL_CONTACTO);
// this.btnContacto.show(470,-50);
break;
case "salon":
this.activeWindow = new WindowSalon(Site.URL_FOTOS);
break;
default:
break;
}
this.activeWindow.show(8);
this.btnVolver.show(500);
this.addChildAt(this.activeWindow,8);
}
private function volverClick_handler(e:Event)
{
this.activeWindow.hide();
this.btnVolver.hide();
setTimeout(showButtons,Site.BUTTON_TWEEN_DURATION * 1000);
}
//bien, aca esta el meollo del asunto: como todas las animaciones son parecidas, hice este metodo al q llamo para hacer aparecer los objetos
public function showObject(obj:MovieClip,startValue:Number,finishValue:Number,duration:Number)
{
var myTween:Tween = new Tween(obj, "y", Strong.easeOut, startValue, finishValue, duration, true);
}
}
}
bien, espero que eso ayude a desentrañar este misterio

gracias igualmente !!
saludos!