Ayuda - Búsqueda - Miembros - Calendario
Versión Completa: Problema Con Boton Ya Presionado (respondido)
Swishmax.es. Foro de consulta en español > SwishMax > SwishMax 1
jogoso
Hola, tengo 2 problemitas, espero puedan auxiliarme.

PROBLEMA 1:

Miren la cosa es simple, por eso no subo el archivo de muestra, aparte de que pesa algunos megas..

Tengo una pelicula general y tiene un menu, al presionar los botones cargan peliculas externas en cierta zona que yo quiero, todo me funciona bien...

Que busco ?

Busco que por ejemplo, si presiono menu "contacto" obviamente me carga la pelicula externa de contacto, pero si vuelvo a presionar el mismo menu contacto, lo vuelve a cargar.

no pasa nada malo, pero se ve poco "etico y profesional" que si ya presionaste el boton, obviamnente no debe de volver a funcionar para presionar de nuevo

Que codigo puedo poner en la programacion del boton que diga...

******
on press carga pelicula externa
si ya esta presionado, no funcionar.
******

Este es mi codigo real..

on (press) {
container_noticias.loadMovie("noticias.swf");
}

(que le agrego para que este boton que craga la pelicula noticia ya no cargue de nuevo si ya esta cargada la pelicula)

Es algo asi lo que yo entiendo en como hacerlo, pero no se como escribirlo ya en codigo script, si me pueden ayudar plis...


PROBLEMA 2:

Como puedo hacer para que se reproduzca una animacion hecha en un "sprite" y que se reproduzca cuando le den clic a un boton que la llame. ojo, el sprite esta hecho en la misma pelicula de donde esta el boton que la llamara, no es nada externo.

Saludos !
cancrexo
Hola y bienvenido a Swishmax. es
Leete las normas del foro que nuca está de más. Si los archivos sobre los que tienes dudas son muy grandes, siempre puedes usar megaupload o similar para alojarlos y después indicar el link
En cuanto a tu problema 1, eso se resuleve de varias formas:
1 - Creando una variable que guarde la opción actualmente mostrada. Si la opción no es la actual, realiza la carga. Si es la actual, no la hace. Suponiendo que tienes 4 opciones en el menu principal (inicio, empresa, servicios y contacto) podrías hacer para el boton de la 1ª opción:
CÓDIGO
on (press) {
   if(opcionActual != 1){
      container_noticias.loadMovie("noticias.swf");
      opcionActual = 1;
   }
}

y así con los demás

2 - Usando un movieclip para el botón,. Dicho movieclip tendría los estados "OVER", "HIT", etc de forma que pudieses controlarlo

Problema 2
Si el sprite se llama miSprite, y está en el mismo nivel que el botón, colocale un stop en el 1er frame y al boton le puedes poner:

CÓDIGO
on (press) {
   miSprite.gotoAndPlay(2);
}


Salu2
jogoso
Gracias Cancrexo

Si me funciono, el detalle es que, cuando presiono otro boton, y luego de nuevo el mismo que habia presionado ya no funciona :P no ejecuta nada

Ejemplo:

BOTON 1 - BOTON 2 - BOTON 3

Al dar clic al boton1, me abre pelicula1 y todo bien, si preisono de nuevo boton1, no pasa nada con tu codigo,,, hasta alli esta bien..

Entonces... presiono boton2, para cargar pelicula2 y si carga, y si presiono de nuevo boton2 no pasa nada, hasta alli todo perfecto, es lo que buscaba...

El detalle !, esta en cuando presiono de nuevo el boton1 para volver a ver la pelicula1, T_T no carga nada, porque la instruccion esta en que si ya fue presionado no funcione mas, y asi es, ya no funciona..

Entonces, nose lo que busco es algo parecido a lo que hiciste... pero que funcionara las veces que sea necesaria al presionar el boton, pero siempre y cuando no este ejecutada o llamada la pelicula de ese mismo boton.

PD: Se que me pediras el archivo para verlo, pero, la vdd, es un trabajo que estoy haciendo a una empresa de videojuegos, y protegen mucho sus trabajos, a tal grado que si ven la pagina web por alli circulando, nos demandarian :S, por ese mismo motivo no pongo "vulnerable" el codigo o el trabajo aqui al publico en general. Espero comprendas..

Saludos !
cancrexo
Asegurate de que el abito de la variable opcionActual es el mismo en todos los botones. Si los botones están dentro de moviclips, entonces la variable opcionActual será local a cada uno por lo que trendrías que usar _parent o _root. O mejor áún, usa la palbra _global.
En tu pelicula en el los primeros frames definela:
CÓDIGO
onSelfEvent(load){
   _global.opcionActual = 0;
}


y en los botones harías:
CÓDIGO
on (press) {
   if(_global.opcionActual != 1){
      container_noticias.loadMovie("noticias.swf");
      _global.opcionActual = 1;
   }
}


Los conceptos básicos hay que tenerlos claros siempre: linea de tiempo, ambito de las variables, _parent, _root y demás.

Salu2
Esta es una versión "reducida (lo-fi)" de nuestro contenido. Para ver la versión completa con mas información, formato e imágenes, por favor haz click aquí.
Invision Power Board © 2001-2012 Invision Power Services, Inc.