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

ayuda con un boton misterioso...

Estas en el tema de ayuda con un boton misterioso... en el foro de Flash y Actionscript en Foros del Web. hola a tod@s, como va todo? os queria referir un pequeño problema que tengo con un boton, el cual tiene asignado este codigo: Código: on ...
  #1 (permalink)  
Antiguo 09/08/2007, 10:34
 
Fecha de Ingreso: agosto-2007
Mensajes: 130
Antigüedad: 16 años, 8 meses
Puntos: 0
ayuda con un boton misterioso...

hola a tod@s, como va todo?

os queria referir un pequeño problema que tengo con un boton, el cual tiene asignado este codigo:
Código:
on (release) {
	mover (inicio);
	btn1.enabled = false;
	onEnterFrame = function () {
		if(btn1._alpha==0)
    	{btn1._alpha==0;}
    	else
    	{
    	btn1._alpha=btn1._alpha-10;
    	}
	}
}
tengo una funcion definida llamada mover y un mc llamado inicio. cuando pulsas el boton, este llama a la funcion, que hace que el mc se mueva aleatoriamente por la pantalla y el boton se desactiva y desaparece.

pues resulta que al cabo de un par de minutos, el boton VUELVE A APARECER!!

alguien sabe por que ocurre?

GRACIAS POR VUESTRA AYUDA
que hariamos l@s novatill@s sin vosotr@s?
  #2 (permalink)  
Antiguo 09/08/2007, 10:55
 
Fecha de Ingreso: agosto-2007
Mensajes: 130
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: ayuda con un boton misterioso...

solucionado.

detener el onenterframe.
  #3 (permalink)  
Antiguo 09/08/2007, 11:00
Avatar de Offrenbaruna  
Fecha de Ingreso: octubre-2004
Mensajes: 537
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: ayuda con un boton misterioso...

seria buena idea hechar un vistaso a tu funcion
__________________

  #4 (permalink)  
Antiguo 09/08/2007, 11:01
Avatar de Offrenbaruna  
Fecha de Ingreso: octubre-2004
Mensajes: 537
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: ayuda con un boton misterioso...

muy tarde me quede dormido !!!
__________________

  #5 (permalink)  
Antiguo 10/08/2007, 08:55
 
Fecha de Ingreso: agosto-2007
Mensajes: 130
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: ayuda con un boton misterioso...

hola de nuevo.

ya estuve el otro dia consultando sobre este tema y crei que lo tenia claro.

tenia una funcion alfa que hacia desaparecer un boton, pero que a los 2 minutos volvia a aparecer. le puse otro onenterframe (me ayudaron en otro foro, jejeje) en el que ponia que si alfa era <=0 delete this.onenterframe y me funciono de maravilla.

despues resulta que con el siguiente codigo me pasa lo mismo, pero al reves: el clip esta en alfa 0 y cuando empieza la funcion lo pone a 100 pero a los 2 minutos vuelve a alfa 0, aunque se sigue moviendo, sigue ejecutando la funcion mover pero sin tener en cuenta la parte del alfa.
le he puesto tambien otro onenterframe en el que le indico que si alfa>= 100, delete this.onenterframe, pero no me funciona. lo he colocado en mil sitios y no me funciona (supongo que una de las cosas que hace es anular tambien la parte del movimiento).

le puse la parte de codigo del alfa fuera del onenterframe, en otro onenterframe, para poder ponerle el delete this.onenterframe, pero tampoco me funciono.

no se si me habre explicado bien...

alguien me puede ayudar??

el codigo de la funcion es el siguiente

Código:
mover = function (clip) {
      vx = 3;
      vy = 1;
      delay = 20;
      amp = 6;
      ta = 6;
      t = 0;
   clip.onEnterFrame = function () {
      if(clip._alpha==100)
       {}
       else
       {
       clip._alpha=clip._alpha+10;
       }
      m = t%delay;
      if(!m){
         if(ta>amp) i=-1;
         else if(ta<-amp) i=1;
         else i=random(3)-1;
      }
      t++;
      ta += i;
      a = ta*Math.PI/180;
      cos = Math.cos(a);
      sin = Math.sin(a);
      nvx = vx*cos-vy*sin;
      nvy = vx*sin+vy*cos;
      vx = nvx;
      vy = nvy;
      clip._x += vx;
      clip._y += vy;
      if(clip._x<20){
         clip._x = 20;
         vx = -vx;
      }
      else if(clip._x>1260){
         clip._x = 1260;
         vx = -vx;
      }
      if(clip._y<60){
         clip._y = 60;
         vy = -vy;
      }
      else if(clip._y>900){
         clip._y = 900;
         vy = -vy;
      }
      clip.onRollOver = function () {
         vx = 0;
         vy = 0;
      }
      clip.onRollOut = function () {
         mover (clip)
      }
   }
}
GRACIAS A TOD@S
  #6 (permalink)  
Antiguo 10/08/2007, 09:44
Avatar de Offrenbaruna  
Fecha de Ingreso: octubre-2004
Mensajes: 537
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: ayuda con un boton misterioso...

que te parece que cuando ejecutes la funcion que en la misma funcion contenga un delete(function) y cuando ejecutes la funcion para reaparecer el BT pues vuelves a cargar la funcion que borraste
__________________

  #7 (permalink)  
Antiguo 10/08/2007, 10:02
 
Fecha de Ingreso: agosto-2007
Mensajes: 130
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: ayuda con un boton misterioso...

no lo veo claro, no me interesa que la funcion termine. quiero que el clip se mantenga todad la pelicula moviendose (si es que te he entendido bien...).

la funcion "funciona" bien. el problema es que se ve que el if del alpha llega un momento en que se acaba y entonces el clip vuelve a su estado natural que es alpha 0. y lo que quiero es que una vez puesto el alpha a 100 se quede por siempre asi.

gracias por contestar.
  #8 (permalink)  
Antiguo 10/08/2007, 10:13
 
Fecha de Ingreso: agosto-2007
Mensajes: 130
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: ayuda con un boton misterioso...

por ejemplo
si coloco esto

Código:
mover = function (clip) {
      vx = 3;
      vy = 1;
      delay = 20;
      amp = 6;
      ta = 6;
      t = 0;
   if(clip._alpha==100)
       {}
       else
       {
       clip._alpha=clip._alpha+10;
       }
   clip.onEnterFrame = function () {
      m = t%delay;
      if(!m){
         if(ta>amp) i=-1;
         else if(ta<-amp) i=1;
         else i=random(3)-1;
      }
      t++;
      ta += i;
      a = ta*Math.PI/180;
      cos = Math.cos(a);
      sin = Math.sin(a);
      nvx = vx*cos-vy*sin;
      nvy = vx*sin+vy*cos;
      vx = nvx;
      vy = nvy;
      clip._x += vx;
      clip._y += vy;
      if(clip._x<20){
         clip._x = 20;
         vx = -vx;
      }
      else if(clip._x>1260){
         clip._x = 1260;
         vx = -vx;
      }
      if(clip._y<60){
         clip._y = 60;
         vy = -vy;
      }
      else if(clip._y>900){
         clip._y = 900;
         vy = -vy;
      }
      clip.onRollOver = function () {
         vx = 0;
         vy = 0;
      }
      clip.onRollOut = function () {
         mover (clip)
      }
   }
}
y lo que he marcado en negrita lo repito 10 veces, el resultado es lo que quiero conseguir.

seguro que es muy sencillo pero soy muymuy mucho novata.

GRACIAS
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 05:30.