Comunidad de diseño web y desarrollo en internet online

Menu Elástico AS3 - TweenLite - Problemas con la posición.

Citar            
MensajeEscrito el 13 Nov 2009 04:35 am
Hola a todos,
Estoy desarrollando un menú muy simple en AS3 pero me está dando problemas.
Estoy intentando hacer un simple menú elástico donde la posición de los elementos del menú sea relativa de la posición de los otros.
Con mouse_down sobre un elemento de menú, éste se escala y los demás se recolocan. Con mouse_up, el elemento recupera su tamaño y todos se vuelven a colocar. Los elementos están animados con TweenLite a través de un for que recorre un Array.

Este es el código:

Código ActionScript :

import flash.events.Event;
import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.plugins.*;

var itemArray:Array = new Array();
var elemento:Object ;
var newdestino:Number;
var i=uint;
var indice:uint;

function crearmenu():void {
   for (var n:uint=0; n<4; n++) {
      var item:pastilla= new pastilla();
      addChild(item);
      item.x = 0;
      item.y = (item.height+2) * n ;
      item.buttonMode = true;
      item.addEventListener(MouseEvent.MOUSE_DOWN,expandir);
      item.addEventListener(MouseEvent.MOUSE_UP,retraer);
      itemArray.push(item);
   }
   }

function posicionar():void {
      for (i=0; i<=itemArray.length; i++) {
      elemento=itemArray[i+1];
      newdestino = (itemArray[i].y+itemArray[i].height+2);
      TweenLite.to(elemento, 1, {x:elemento.x, y:newdestino, ease:Elastic.easeOut});
      }
   }

function expandir(event:MouseEvent):void {
   event.currentTarget.scaleY=2;
   posicionar();
   
   }
function retraer(event:MouseEvent):void {
   event.currentTarget.scaleY=1;
   posicionar();
   
   }

crearmenu();



Aquí podeis ver el swf

El asunto es que no se porqué no se recolocan todos a la vez. ¿Puede ser por la asignación de la posición de cada elemento? ¿No debería utlizar un array ni un for?.

Estoy seguro que es una totería pero estoy bloqueado.
Agradezco vuestros comentarios y ayudas.
Un cordial saludo.

RO

Por creacionro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Nov 2009 06:51 pm
Alguien puede ayudarme!!!!! HEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLLLPPPPPPPPPPPPPPPPPPPPP!!!!!

Por creacionro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Nov 2009 07:03 pm
Tengo una clase "menu" que crea un menú vertical cargando un elemento de la librería n veces y luego cuando se pincha en cada uno de los elementos del menú se crea con la clase "submenu" un submenú con n elementos.
el caso es que quiero que al pinchar en un elemento me aparezca el submenú y que desaparezca el submenú de otro elemento ya seleccionado.

No puedo quitar "remove" el submenú porque no logro localizarlo para lograr hacer el removeChild.

Me dice que no se puede hacer la conversión de un Object en DisplayObject.... y todo ese rollo.

He creado en las clases contenedores tipo Sprite para contener cada elemento así como el submenú y nada. No puedo borrarlo y ni siquiera focalizarlo con un trace.

AYUDA O SALTO POR LA VENTANAAAAAAAAAAAAAAAA!!!!

Muchas gracias.
RO

Por creacionro

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Nov 2009 08:34 pm
Voy a mover este post al foro de AS3 a ver si tiene mejor acogida allí

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 14 Nov 2009 09:19 pm
Muuuuuuuuuuchas gracias, creía que este era el foro adecuado.

RO

Por creacionro

10 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.