Foros del Web » Creando para Internet » Flash y Actionscript »

funcion reutilizable

Estas en el tema de funcion reutilizable en el foro de Flash y Actionscript en Foros del Web. Hola a todos, Tengo 3 movie clips dentro de mi pelicula que se llaman: menu1, menu2 y menu3. para hacer un menú con submenus, y ...
  #1 (permalink)  
Antiguo 24/09/2008, 08:31
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 19 años
Puntos: 3
funcion reutilizable

Hola a todos,

Tengo 3 movie clips dentro de mi pelicula que se llaman: menu1, menu2 y menu3. para hacer un menú con submenus, y lo quiero hacer del tipo acordión pero en horizontal.

Lo que estoy tratando de hacer es una única función que mueva los menus por AS dándole como parámetros el nombre del movie que quiero mover, cuantos píxeles y a que sentido (izq o der).

La función que he realizado es esta, puesta en el frame 1, de la escena principal:

Código PHP:
function mueveClip(cantidad,movieorig,sentido,intervaloorig):Void
            var 
n:Number 0;
            
movie = eval(movieorig);
            
intervalo = eval(intervaloorig); //pongo intervalo para que no se crucen los otros setInterval.
            
var intervalo:Number setInterval(mueveClip15); 
                function 
mueveClip1():Void{
                    if(
<= cantidad){
                        if(
sentido == "izq"){
                            
_root.movie._x -=  1;
                            
n++;
                        }
                        if(
sentido == "der"){
                            
_root.movie._x +=  1;
                            
n++;
                        }                
                    }else{     
                    
clearInterval(intervalo); 
                    }     
                }
            } 

Dentro de cada Movie hay un botón que es la parte visible del menu, en este botón del menu1 pongo la siguiente acción:

Código PHP:
on(release){
        
_root.mueveClip(157,"menu1","izq","inter1") ;


y funciona perfecto, mueve el menu1 a la izquierda 157 pixeles y muestra sus submenús.

El problema es cuando se lo quiero poner al menu2 (tiene que mover el menu1 y el menu2 la misma distancia), pero no funciona, solo me mueve el menu2, el menu1 lo deja en su sitio.

Código PHP:
on(release){
        
//para mover menu1
        
_root.mueveClip(157,"menu1","izq","inter1") ; 
         
//para mover menu2
        
_root.mueveClip(157,"menu2","izq","inter2") ;


Que es lo que estoy haciendo mal???

Gracias

Carlos
  #2 (permalink)  
Antiguo 24/09/2008, 11:26
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 17 años
Puntos: 51
Respuesta: funcion reutilizable

ami me parece has imple vista que debería funcionar excepto por esto
Código PHP:
intervalo = eval(intervaloorig); //pongo intervalo para que no se crucen los otros setInterval.
            
var intervalo:Number setInterval(mueveClip15); 
la variable tendria que ir arriba
asi

Código PHP:
 var intervalo:Number = eval(intervaloorig); //pongo intervalo para que no se crucen los otros setInterval.
            
intervalo setInterval(mueveClip15); 
si no rula prueba a poner String en ves de Number o algun otro tipo de variable espero que te sirva
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #3 (permalink)  
Antiguo 24/09/2008, 12:44
Avatar de nuuk_ikel  
Fecha de Ingreso: agosto-2008
Ubicación: [ Dimensión desconocida ]
Mensajes: 164
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: funcion reutilizable

Debes usar return para que arroje los resultados tu funcion si no unicamente se hacen de manera interna por ejemplo:

Código actionscript:
Ver original
  1. circuloX= function(distancia,angulo){
  2. var distancia, angulo;
  3. return distancia * Math.sin(Math.PI*angulo/6)
  4. };
__________________
[ Si hay un problema, existe una solución ]

Última edición por nuuk_ikel; 24/09/2008 a las 15:30
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:23.