Comunidad de diseño web y desarrollo en internet online

romper funcion

Citar            
MensajeEscrito el 15 Ago 2007 08:16 pm
tengo un pequeño problema ojala alguien me pueda ayudar, tengo un menu con varios botones animados al ubicar el mouse sobre uno la animacion se detiene, el problema es q al ingresar en otra escena me sigue leyendo la posicion del raton. Como hago para romper la funcion para terminar la funcion y q no me siga leyendo la ubicacion del mouse :shock:

Por novaaavon

46 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Ago 2007 08:22 pm
si es un onEnterFrame podes poner un if q si por ejemplo es false lo borre poniendo

delete this.onEnterFrame;

Por Benutti

188 de clabLevel

1 tutorial

 

NutT

msie
Citar            
MensajeEscrito el 15 Ago 2007 08:34 pm
function parar() {
if (_xmouse>300 and _xmouse<500) {
if (_ymouse>280 and _ymouse<400) {
stop();
} else {
play();
}
} else {
play();
}
}
detectando = setInterval(parar, 1);

este es el codigo esta en la escena menu, pero cuando entro en otra escena me sigue funcionando la funcion parar() :cry:

Por novaaavon

46 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Ago 2007 09:18 pm
Si estas cambiando de escena y no quieres que corra borra la funcion del codigo o simplemente no la mande llamar
aqui la estas llamando ---> detectando = setInterval(parar, 1);
Si es en cambio de fotograma fijate que la funcion no llegue al cambio de fotograma.Tambien puedes ponerle un if para que solo se efectue en un determinado fotograma.

Por Wako

77 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ago 2007 10:34 pm
si pones

Código :

detectando = setInterval(parar, 1);


podes pararlo en cualquier momento con

Código :

clearInterval(detectando);

Por Benutti

188 de clabLevel

1 tutorial

 

NutT

msie
Citar            
MensajeEscrito el 21 Ago 2007 05:24 pm
benutti wako, gracias
pero no, no puedo romper la funcion todavia

clearInterval(detectando);

si termina la funcion pero no siempre, la he provado un millon de veces y llegue a la conclusion, cuando

detectando=setInterval(parar,1);

devuelve el numero 1 solo alli lo puede parar pero cuando es otro valor clearInterval no sirve como lo hago o alguna idea de hacer lo mismo de otra forma

Por novaaavon

46 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 21 Ago 2007 07:59 pm
Prueba asi como te dice Benutti. Cambie un poco el codigo ... segun tu codigo supuse que lo quieres es parar la funcion cuando entre en un rectangulo con los limites establecidos por los if.

Código :

function parar() {
   
   if (_xmouse>300 and _xmouse<500 and _ymouse>280 and _ymouse<400) {
      stop();
      clearInterval(detectando);
   } 
   else {
      play();
   }
}

detectando = setInterval(parar, 1);


Si no es eso psss, no te entendi XD.

Por Wako

77 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Ago 2007 08:11 pm
correcto wako necesito q la funcion se pare al momento q el usuario entra en ese rectangulo pero que siga funcionando cuando sale de el, lo voy a probar .......

Por novaaavon

46 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 21 Ago 2007 08:31 pm
noooooo.... sigo en las mismas
Wako gracias lo estube probando pero tu codigo no funciona ahora cuando posiciono dentro del rectangulo no para nunca la funcion y tampoco puedo acceder a la otra escena

Auxilio llevo dias y no puedo........
alguien alguna sugerencia

Por novaaavon

46 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 21 Ago 2007 08:33 pm
Uppss! El codigo que te di solo sirve para detenerlo... Oye si quieres que cuando entre se detenga y empiece nuevamente cuando salga, tal vez te convenga hacer un cuadro como movie clip. Lo puedes poner con alpha=0 para que no se vea y manipularlo con onRollOver y onRollOut.
Opcion 2:
Necesitas que sea con setInterval? Tambien lo puedes poner con onEnterFrame como dice Benutti, creo que sera mas facil manipularlo.

Por Wako

77 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Ago 2007 08:45 pm
si lo trato de hacer dentro de un clip de pelicula y es verdad es mas facil manipularlo pero al hacerlo asi tengo otro problema al dar click a los botones estos no me llevan a la escena indicada no pasa nada

por eso abri otra pregunta en el foro sobre boton dentro de un MC.

estoy atorado ni lo uno ni lo otro
AUXILIO

Por novaaavon

46 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 21 Ago 2007 09:27 pm
Ok, mejor explicanos bien lo que estas intentando. Solo se que quieres un menu con varios botones animados y cuando el mouse toque o de clic en uno de ellos la animacion se detiene. En la otra pregunta del foro tienes problemas con estos mismo botones (suponiendo...) que no hacen el cambio de escena, porque los tienes dentro de un movie clip (el menu?).
El menu tambien tiene animacion o solo los botones?
Estaria bien que nos dieras una idea de las animaion y botones que intentas hacer.

Por Wako

77 de clabLevel



 

opera
Citar            
MensajeEscrito el 22 Ago 2007 01:09 am
no se me ocurre porque no te funciona, quizas puedas subir tu fla o poner bien tu codigo para que podamos ver bien el problema

Por Benutti

188 de clabLevel

1 tutorial

 

NutT

msie
Citar            
MensajeEscrito el 28 Ago 2007 05:52 pm
no se sigo tratando de parar ese bendito setInterval, pero hasta ahora nada funciona

lo he probado millon veces cuando setInterval devuelve valor 1, se lo puede parar con clearInterval, pero de lo contrario no si pasas a otra escena donde no tienes nada programado el setInterval sigue funcionando

pruebenlo o en su defecto diganme como lo estan rompiendo

**********AQUI LES VA DE NUEVO EL ROLLO******
Escena menu
tres botones moviendose dentro de un MC(nombre de instancia de los botones: bd1,bt1,bt2), estan animados con interpolacion los botones dentro no tienen ninguna animacion

tengo una funcion q detecta el movimiento del mouse si entra dentro de un rectangulo el MC(nombre de instancia "botones") lo paro, el momento q sale del rectangulo vuelve a moverse el MC el codigo el siguiente:

Código :

function parar():Void {
   if (_xmouse>300 and _xmouse<500) {
      if (_ymouse>280 and _ymouse<400) {
         botones.stop();
      } else {
         botones.play();
      }
   } else {
      botones.play();
   }
}
var detectando:Number = setInterval(parar, 1);

botones.bd1.onPress = function() {
   gotoAndPlay("datos", 1);
   clearInterval(detectando);
};
botones.bt1.onPress = function() {
   gotoAndPlay("trabajos", 1);
   clearInterval(detectando);
};
botones.bt2.onPress = function() {
   gotoAndPlay("titulos", 1);
   clearInterval(detectando);
};
stop();


listo funciona a la perfeccion, pero si me voy a otra escena el setInterval sigue funcionando, las otras escenas no tienen ningun codigo que llame a la funcion parar()

Por novaaavon

46 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Ago 2007 04:39 am
Prueba haciendo estas dos cosas:
1.- Cambia el evento "onPress" por "onRelease".
2.- colcoca el "clearInterval" antes del "gotoAndPlay()" (esto segundo no tiene mucho sentido para mí, pero a veces me ha sucedido)
3.- Cuéntanos si se pudo :)

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 29 Ago 2007 04:31 pm
Hola de nuevo, probe tu codigo y al cambiar de escena si me borra el setInterval. Para probarlo le puse un trace al inicio de la funcion.
El ejemplo lo hice por lo que entendi XD... espero sea mas o menos lo mismo.

http://rapidshare.com/files/52064549/novaaavon.fla

Por Wako

77 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Ago 2007 05:47 pm
listo Wako gracias por las molestias y por tu tiempo, eres chevere onda gracias
Si le pones un trace a detectando, te imprime solo el numero 1, pero en el flash q tengo esperaba un momento y el detectando se incrementaba en uno al rato me imprimia 2 , 3 etc....

NO ME EXPLICO POR QUE

le puse todo en un nuevo archivo de flash y listo todo el tiempo me imprime 1 y el clearInterval si funciona si es otro numero el clearInterval no funciona .....AL FIN FUNCIONA TODO :wink:

..........alguien responde mi pregunta alguien sabe porque el setInterval se incrementa, y cuando se incrementa como lo paro.

Gracias Wako por tu ayuda, al fin pude lo imposible ^^[/code]

Por novaaavon

46 de clabLevel



Genero:Masculino  

firefox

 

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