Comunidad de diseño web y desarrollo en internet online

onClipEvent

Citar            
MensajeEscrito el 16 Nov 2004 03:06 pm
Buenas..
Tengo un problema con esta funcion..

*Este codigo va en el mc

Código :

onClipEvent (load) {
   _root.targetx = 607;
   _root.targety = -11;
   speed = 4;
   _root.onEnterFrame = function() {
      _x += (_root.targetx-_x)/speed;
      _y += (_root.targety-_y)/speed;
   };
}
onClipEvent (enterFrame) {
   if (_y == targety && _x == targetx) {
      delete this.onEnterFrame;
   }
}


Cuando lo pongo en 1 solo mc me anda barbaro pero cuando tengo 2 mc uno anda y el otro se queda quieto como si nada.
Obviamente cambio el nombre *target* por otro en el segundo mc.

La idea es q cada mc sea una ventana y al hacer click en un boton se acomoden de forma diferente.

Alguien me puede decir q esta pasando?
Hay algun tipo de conflicto?

Saludos

Por Sanwar

69 de clabLevel



 

Argentina - Tucumán

unknown
Citar            
MensajeEscrito el 16 Nov 2004 03:09 pm
Al hacerlo en dos clips diferentes estás "chafando" un _root.onEnterFrame con otro, así que de esta manera no lo podrás hacer.

Hazlo con setInterval mejor, los puedes destruir con clearInterval() y además puedes hacer varios.

Saludos!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 16 Nov 2004 03:25 pm
Gracias por responder elcash
Tienes algun ejemplo del codigo para q vea como es mas o menos..
La verdad es q no se como funciona setInterval.

Y al otro codigo lo hice funcionar solo cambiando algunas _root.
Pero si me decis q esta mal... quiero ver como puedo hacerlo con setinterval()

Por Sanwar

69 de clabLevel



 

Argentina - Tucumán

unknown
Citar            
MensajeEscrito el 16 Nov 2004 04:06 pm
checa la referencia, ahí está todo bien explicado

Por fael

BOFH

2443 de clabLevel

3 tutoriales
2 articulos

 

unknown
Citar            
MensajeEscrito el 16 Nov 2004 07:01 pm
Estas seguro q puedo obtener el mismo resultado conesta funcion?
:?

La verdad no se como haces...
Yo necesito mover movie clips de un lado al otro con suavidad.
Como lo hace la funcion que esta arriba.

Por Sanwar

69 de clabLevel



 

Argentina - Tucumán

unknown
Citar            
MensajeEscrito el 16 Nov 2004 09:55 pm
Un ejemplo facil para que lo veas.

Código :

moveInt = setInterval("mover", 10);

miClip_mc._x = 0;

function mover(){
   miClip_mc._x += (100-miClip_mc._x)/5;

   if (miClip_mc._x > 99){
      clearInterval(moveInt);
   }
}


Con setInterval() llamo a una función que me ejecuta un movimiento cada 10 milisegundos, cuando llego a la posición deseada, borro el intervalo para que no ocupe más memoria y ya está.

Espero que te sirva.

Saludos!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 17 Nov 2004 07:33 pm
elecash ... estube probando el codigo q me pasaste y no entiendo el tema del movimiento.
Tengo q hacer click muchas veces para q el mc se mueva.
Como harias para q el objeto se mueva de un punto a otro de un solo click?

Otro tema como es eso de que libera la memoria?
onClipEvent queda ocupando memoria?

Tks! de nuevo cash

Por Sanwar

69 de clabLevel



 

Argentina - Tucumán

unknown
Citar            
MensajeEscrito el 17 Nov 2004 07:57 pm
TODOS los eventos ocupan memoria hasta que no son borrados, lo que pasa es que la mayoria no gastan mucha CPU a excepcion de onEnterFrame, porque se esta ejecutando continuamente, y obviamente con setInterval sucede lo mismo.

Para hacer que se mueva apretando una sola vez un boton, pon este codigo en el fotograma 1 de tu pelicula.

Este código lo he probado y funciona, haz unos test con el y ya me dices.

Código :

miClip_mc._x = 0;

function mover(){
   miClip_mc._x += (100-miClip_mc._x)/5;

   if (miClip_mc._x > 99){
      clearInterval(moveInt);
   }
}

mi_btn.onPress = function(){
   moveInt = setInterval(_root["mover"], 10);
}


Saludos!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

unknown
Citar            
MensajeEscrito el 19 Jun 2009 12:31 pm
buenas... osea que es lo mismo el setInterval y el enterFrame si hablamos de recursos?
yo estoy usando onEnterFrame y aunque los borre despues de usarlos.. en firefox el CPU es de 98% aprox. una locura.. como si por alguna razon no los borraria realmente. me consume lo mismo que si en vez de enterFrame usaria un bucle que repita la accion... como se hacia al principio.

si alguien tiene idea de como solucionarlo... aca esta mi problema www.madero-vip.com.ar y ahi entrar en "Busqueda en plano" en las secciones.
Un abrazo y gracias

Por pixelismo

27 de clabLevel



Genero:Masculino  

Olivos, Buenos Aires

firefox

 

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