Comunidad de diseño web y desarrollo en internet online

Programar tiempo de ejecucion de un mc

Citar            
MensajeEscrito el 27 Sep 2006 12:16 am
Hola espero alguien me pueda ayudar, la verdad el problema que tengo es simple de explicar. Pasa que tengo un movie clip en el escenario principal que tiene solo 1 frame, la linea de tiempo interior del mc es de 2 frames, en cada uno de los 2 fotogramas hay un stop, entonces me gustaria darle la orden al mc con nombre "mc-foto" que pase al frame 2 al cabo de 10 segundos y luego despues de 10 segundos vuelva al 1. eso es todo. Espero que alguien me pueda ayudar, muchas gracias XD.

Por Zero-Substancial

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 27 Sep 2006 07:42 am
Tienes que usar setInterval, de esta forma te cambiaría a los 10 segundos de fotograma.

Código :

var intervalo = setInterval(cambiar, 10000);

function cambiar()
{
     trace("cambia!");
     mi_mc.gotoAndStop(2);
}


Deu!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

firefox
Citar            
MensajeEscrito el 27 Sep 2006 04:38 pm
muchas gracias me ha funcionado XD, pero pasa que me surgio un problema, ya que en si cuando estoy en el primer frame del mc cuenta los 10 segundos y luego cuando avanza al 2º es como que no hace el conteo de los 10 segundos.... es como si el action del primer frame siguiera corriendo sumado al del segundo, luego cuando esta en el segundo y salta otra vez al primer frame es como si tb siguiera corriendo sumado a las otras pasados de cada frame.... en resumen lo que va pasando, es que no respeta los 10 segundos.... del pasar de un frame a otro y asi suscesivamente..... se me ocurre que quizas pueda haber un frame intermedio que limpie el anterior, no sè... no se me ocurre como...quizàs con un clearInterval ??.. pues no se me ocurre como deberia ir

var intervalo = clearinterval;
function clear() {
trace("limpia!");
mi-mc.gotoAndPlay(3);
}

osea ... tener 4 frames, el primero que se detenga y haga el conteo de 10 segundos, luego al completarse los 10 segundos, salte al 2º frame que limpia el action anterior e instantaneamente salta al 3 con el mismo action del primer frame con conteo de 10 segundos... luego se repite todo...etc...

seria algo asi?, bueno muchas gracias si me puedes ayudar XD, cualquier ayuda es bien recibida, bye=)

Por Zero-Substancial

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 29 Sep 2006 06:58 am
Parece debe ser muy complicado :( o quizàs nadie se habìa topado con el problema :o .... que hacer? :crap:

bueno gracias a quien ande por ahì y pueda aclararme esto de poder limpiar el set interval XD

Por Zero-Substancial

10 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 01 Oct 2006 09:12 pm
Lo que yo haría (si setInterval no te sirve) seria algo así ubicado en en el primer fotograma de la película:

var tiempo:Number = 120;
var timer:Number;
var fotograma:Number;
var fotogramasTotales:Number = 2;

onEnterFrame = function () {
if (timer > 0) {
timer--;
} else {
timer = tiempo;
if (fotograma <= fotogramasTotales) {
mc-foto.gotoAndStop (fotograma);
fotograma++
} else {
fotograma=1
}
}


Tenés que tener en cuenta 2 cosas, la primera es que a la variable "tiempo" le tenes que dar como valor el numero de fotogramas por segundo de la pelicula (12, por defecto) multiplicado por 10 (el tiempo en segundos). Lo segundo que tenés que tener en cuenta es que "fotogramasTotales" tiene que ser igual al numero de fotogramas que tiene "mc-foto" (yo puse 2).

Eso debería solucionar tu problema y hasta tendría que funcionar sin importar cuantos fotogramas tenga el clip "mc-foto" siempre y cuando modifiques la variable "fotogramasTotales"


Espero te sirva.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 01 Oct 2006 10:48 pm
pues solo te falta eliminar el intervalo, una vez realizado, sin necesidad de frames intermedios. Yo uso éste código..

Código :

var intervalB:Number;

function esperarB():Void{
   clearInterval(intervalB);
   delete intervalB;
   nextFrame();
}

intervalB = setInterval(this, "esperarB", 10000);
y copio y pego, lo mismo para todos los frames.. y si por ejemplo quisiera regresar al primero... solo cambio en el último frame la línea nextFrame(); por un gotoAndStop(1); .. saludos.

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox

 

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