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

Un MC que llama a una función no la ejecuta

Estas en el tema de Un MC que llama a una función no la ejecuta en el foro de Flash y Actionscript en Foros del Web. Hola a Todos !!! A ver si alguien me da una manito con esto: (paso a detallar) Tengo en el primer frame de mi pelicula ...
  #1 (permalink)  
Antiguo 09/11/2005, 17:49
 
Fecha de Ingreso: noviembre-2005
Mensajes: 4
Antigüedad: 18 años, 5 meses
Puntos: 0
Exclamación Un MC que llama a una función no la ejecuta

Hola a Todos !!!
A ver si alguien me da una manito con esto: (paso a detallar)

Tengo en el primer frame de mi pelicula lo siguiente:

// Se crea un MC vacio para contener las películas cargadas
_root.createEmptyMovieClip("miPeli", 1);
// Se posiciona el MC creado
miPeli._y = 50;
// Se carga la primera película en el MC
loadMovie("vacio.swf", "miPeli");
// Se define una variable donde almacenar la ultima "ruta" cargada
var ultimaRuta = "vacio.swf";
// Se crea una función que gestiona la carga de la película.
function cargar(ruta) {
if (ruta != ultimaRuta) {
ultimaRuta = ruta;
onEnterFrame = function () {
if (miPeli._currentframe == miPeli._totalframes) {
loadMovie(ruta, "miPeli");
delete onEnterFrame;
} else {
miPeli.play();
}
};
}
}


Despues tengo un boton que llama a la funcion cargar:

on (release) {
cargar("contenido_1.swf");
// la ruta de nuestras peliculas como parametro
}


Hasta ahí todo funciona barbaro

Pero si hago un mc para que cumpla las funciones de boton y le pongo el mismo codigo no me funciona.
La idea de que sea un movie clip es que necesito que cuando lo presiono quede en estado presionado y si lo hago con un boton no se como hacerlo.

Desde ya muchas gracias....
  #2 (permalink)  
Antiguo 09/11/2005, 19:09
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Hola huguito72:
Vamos con un ejemplo con un botón que tiene en el estado Reposo el relleno de color rojo y en el frame Presionad con relleno negro.
Dentro del MC coloca en la capa 1 frame 1 el botón haz una copia del estado Presionado y en la capa 2 frame 2 del MC lo pones en las mismas coordenadas que la que está en el frame 1.
Crea la capa 3 en el frame 1 coloca un stop();
Código para el botón:
on(release){
gotoAndStop(2);
//Aquí la acción que quieres que realice;
}
de ese modo cuando hagas clic realizará la acción que le diste e irá al frame 2 para mostrar la figura del botón presionado.
Para que puedas utilizar varios botones con el mismo sistema, tienes que ponerle un nombre de instancia, por ejemplo: btn1.
En el siguiente botón que construyas de la misma forma el código sería así:
on(release){
gotoAndStop(2);
//Aquí la acción que quieres que realice;
btn1.gotoAndPlay(1);
}

De ese modo cuando presiones el segundo botón a la vez de realizar su acción e ir al segundo frame, hará que el primer botón regrese a su estado activado.

Espero haberte sido de ayuda y esté clara la explicación.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 09/11/2005, 19:25
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 2 meses
Puntos: 7
Hola

Pues viendo el codigo que pones directamente en el boton, creo que le falta algo:

on (release) {
_root.cargar("contenido_1.swf");
}

Añadele eso a ver si te sirve. Recuerda que tienes tu funcion creada en el _root, asi que para llamarla desde un boton primero debes decirle a Flash que debe buscar alli para ejecutarla.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #4 (permalink)  
Antiguo 09/11/2005, 21:51
 
Fecha de Ingreso: noviembre-2005
Mensajes: 4
Antigüedad: 18 años, 5 meses
Puntos: 0
Muchas gracias por las respuestas , las dos solucionan mi problema.
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 03:05.