Mi película se ralentiza al cargar otro swf

A ver, mi problema es el siguiente:
Me estoy haciendo una página en flash y en un determinado fotograma de la película principal quiero cargar un swf en un movieclip. El swf consiste en unos collares que imitan el movimiento de un gusano. Mi problema es que cuando cargo el swf, ralentiza la velocidad de la película principal. Supongo que el problema está en el código del swf, ya que no tengo mucha idea(mejor dicho, acabo de empezar), pero el caso es que si pruebo el swf(collares) a secas, la velocidad va bien.
Para ser más claro, el collar lo hago a base de bolas que caen y suben, habrá como unas 40 bolas unidas para formar el collar. A cada bola la instancio (b1, b2, b3,...) y creo una capa de acciones para poner el código. La línea de tiempo del código contiene tantos fotogramas clave como bolas tiene el collar, de tal manera que cuando entra el fotograma 1, éste tiene el código de la bola 1 y así sucesivamente. El código que pongo es el siguiente:
function gusano(clip) {
clip.vely = 0;
clip.fuerza = 1;
clip.onEnterFrame = function() {
clip.vely += clip.fuerza;
this._y += clip.vely;
if (this._y>0) {
clip.vely -= 2;
}
};
}
gusano(b1);
Al final de la línea de tiempo pongo un stop.
Sé que se podría hacer esto con un bucle, para que cuando entrase el fotograma fuese llamando a cada bola, pero lo dicho, acabo de empezar y no sé aún. Supongo que el problema de que la película se ralentice cuando cargo el swf de los collares sea que en cada fotograma pongo el código de arriba y lo hago muy repetitivo. Pero lo que no entiendo es por qué el swf de los collares, si lo pruebo sólo funciona perfecto y no se ralentiza.
A ver si alguien me puede ayudar, por favor. Y si alguien quiere ver el .fla se lo mando, quizá así lo vea mejor. Mi correo es [email protected]

1 respuesta

Respuesta
1
Ese es el problema entonces.
Has un bucle de este modo:
contador=0;
do {
contador=contador+1;
duplicateMovieClip("tuclip",this["clip"+contador],contador)
}while (contador<50)
gusano(this["clip"+contador])
}
Vale,
Creo que por el código que pones al principio he localizado el problema.
¿Tienes 30 movieclips en tu peícula secundaria?
¿Los has creado con dupllicateMovieclip?
Si quieres te mando el .fla de la película secundaria, quizá así lo veas mejor...
Hola, de nuevo. No entiendo por que he de hacerle un preload, ya que el swf(collares.swf) ocupa 2 k. De todas formas creo haber hecho el preload y se ralentiza igual. Te pongo l oque he puesto ya que quizás lo haya hecho mal:
Creo el movieclip vacío y lo instalación como "clipcollar". Pincho 2 veces y me meto dentro y en un fotograma clave pongo el siguiente código:
total = _parent.getBytesTotal();
this.onEnterFrame = function() {
cargador = _parent.getBytesLoaded();
if (cargador == total) {
_parent.clipcollar.loadMovie("collar 01.swf");
}
};
No se si te referías a esto.
Un saludo !
Hola... A ver, en la película secundaria creo un movieclip que es una bola y de esa bola saco las copias y las voy instanciando(b1, b2, b3, etc), es decir selecciono y arrastro con alt. No utilizo la orden de dupllicateMovieclip. Y si, habrá entre 30 y 40 copias.
Hazle un preloader al movieclip donde cargas el swf externo.
Hola, perdona n oresponderte antes, pero he tenido problemas con la línea. A ver, estoy intentando aplicar lo que me dijiste y ya que acabo de empezar, he intentado aplicar el código por partes antes que hacerlo todo de golpe, así que empecé por ver si me salía lo de duplicar el objeto tantas veces como quería. Pero creo que me explique mal la anterior vez. Como hago para duplicar las bolas y salgan pegadas así :
oooooooooooooooooooooooooooooooooooooo
La idea la se, supongo que sera:
posicion._x = b1._x + b1._width
Pero no se como aplicarlo, a ver si me puedes ayudar, un saludo.
Dado que duplicas con un contador, y lo aprovechas para dar nombre a las bolas sería:
this["b"+contador]._x=
this["b"+contador]._x+this["b"+contador]._width
Si contador vale 1 tienes a b1 duplicado
Hola, no me sale lo de duplicar la bola, pongo el siguiente código:
contador = 0;
do {
contador = contador+1;
this["b"+contador]._x = this["b"+contador]._x+this["b"+contador]._width;
duplicateMovieClip(b, this["b"+contador], contador);
} while (contador<50);
Al MC de la bola lo instancion como b
contador = 0;
do {
contador = contador+1;
anterior=contador-1;
duplicateMovieClip("b", "b" add contador, contador);
this["b" add contador]._x = this["b" + anterior]._x+this["b" + anterior]._width;
}while (contador<50)
Siento no haber podido cerrar antes la pregunta, pero no se por que, hay días que no me deja entrar a una seria de páginas... Decirte que ya he conseguido, gracias a ti, que las bolitas se muevan como si fueran un gusano, y la película principal se ralentiza pero solo un poco cada cierto tiempo... seguro que es por que aun no conseguí mediante un bucle que cuando entre el fotograma uno, llame a la bola 1 y así sucesivamente, pero aun así la película va mucho mejor... Muchas gracias, de veras. Un saludo a todo el foro...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas