en primer lugar quiero decir que este post es continuacion de otro que evoluciono y quiero colocarlo en uno nuevo como pregunta a parte.
en segundo lugar quiero agradecer a brayanisimo su inestimable ayuda en el otro post, que fue iluminadora en muchos aspectos.
ahora ya vamos al tomate:
tengo este codigo en la capa acciones:
Código :
Stage.scaleMode = "exactFit";
import mx.transitions.Tween;
import mx.transitions.easing.*;
cant_menus=2;
function colocar_fondo()
{
var red_fond_tit:Tween = new Tween(fondo_titulo,"_width", Back.easeInOut, fondo_titulo._width, 45, 2, true);
var red_titulo_width:Tween = new Tween(titulo,"_width", Back.easeInOut, titulo._width, 22, 2, true);
var red_titulo_height:Tween = new Tween(titulo,"_height", Back.easeInOut, titulo._height, 200, 2, true);
var mov_tituloX:Tween = new Tween(titulo, "_x", Back.easeInOut, titulo._x, 5, 2, true);
var mov_tituloY:Tween = new Tween(titulo, "_y", Back.easeInOut, titulo._y, 180, 2, true);
var mov_barraX:Tween = new Tween(barra, "_x", Back.easeOut, barra._x, 70, 2, true);
}
function colocar_seleccionado(num_menu)
{
var moverX:Tween = new Tween(_root["menu"+num_menu], "_x", Back.easeInOut, _root["menu"+num_menu]._x, 5, 2, true);
var moverY:Tween = new Tween(_root["menu"+num_menu], "_y", Back.easeInOut, _root["menu"+num_menu]._y, 165, 2, true);
var rotar:Tween = new Tween(_root["menu"+num_menu], "_rotation", Elastic.easeInOut, 0, -90, 2, true);
}
function colocar_resto()
{
aux=375;
for (i=1;i<=cant_menus;i++)
{
if (i!=menusel)
{
var moverX:Tween = new Tween(_root["menu"+i], "_x", Back.easeInOut, _root["menu"+i]._x, 45, 2, true);
var moverY:Tween = new Tween(_root["menu"+i], "_y", Back.easeInOut, _root["menu"+i]._y, aux, 2, true);
var rotar:Tween = new Tween(_root["menu"+i], "_rotation", Elastic.easeInOut, 0, -90, 2, true);
aux+=307;
}
}
}
MovieClip.prototype.clickear = function() {
this.onRelease=function()
{
colocar_fondo();
colocar_seleccionado(menusel);
colocar_resto();
}
}
onEnterFrame=function()
{
if (menusel!=0)
_root["menu"+_root.menusel].clickear(_root.menusel);
}explicarlo orden a orden va a ser un poco largo, asi que no me enrollare y hablare en terminos un tanto generales
al principio tengo el Stage scalemode que vale para que todos los elementos de la web esten visibles a pesar de su redimensionamiento, aunque ese modo cambia los tamaños, de momento no tengo nada decidido y es una prueba. despues añado las librerias que necesito para utilizar la funcion Tween, que es la que me vale para recolocar los MC al presionar elementos de menu.
las funciones siguientes se expresan por su propio nombre y en cuanto echeis un vistazo a la web ( que la referenciare mas abajo) sabreis a que me refiero con cada nombre.
despues en cada elemento de menu tengo sencillamente un on(Release){ menusel='x';} dependiendo del elemento de menu clickeado...
gracias a brayanisimo (me enseño de la existencia de los prototipos, la funcion Tween y a no poner algunas garruladas en mi AS), he logrado depurar mi codigo hasta convertirlo en algo, que para mis conocimientos de flash y AS, es muy elegante, modularizado y chachi en general. pero hay un problema:
al emplear los prototipos, no me carga las instrucciones que ese prototipo tiene asociadas hasta el segundo click...y eso me deja un poco de piedra...
por que al segundo click??????
como lo hago para que funcione a la primera????
la referencia de mi web de pruebas es:
http://maije2.iespana.es
por favor, no hagais caso de la publicidad...
muchisimas gracias de antemano
atentamente
maije
