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

PORFAVORE echadme una manito

Estas en el tema de PORFAVORE echadme una manito en el foro de Flash y Actionscript en Foros del Web. Hola Os quería enviar el archivo del q tengo dudas, pero no sé cómo hacerlo, o sea q ,si os parece, os lo cuento así ...
  #1 (permalink)  
Antiguo 26/11/2003, 07:17
 
Fecha de Ingreso: febrero-2003
Mensajes: 256
Antigüedad: 14 años, 9 meses
Puntos: 0
PORFAVORE echadme una manito

Hola
Os quería enviar el archivo del q tengo dudas, pero no sé cómo hacerlo, o sea q ,si os parece, os lo cuento así a pelo.

He encontrado en flashkit un archivo flash (de texto) que quiero usar.
Sin embargo tengo dudas.
El archivo muestra un texto-frase que se mueve haciendo como un efecto de reflejo en agua.
El PROBLEMA es q yo tengo un archivo con varias escenas y quiero q EN CADA ESCENA se ejecute esta movie .Cada escena tendría una movie-frase diferente.
Lo que ocurre es q se ejecuta la movie(o sea la frase) de la primera escena a la q yo vaya, pero, cuando le doy a otro botón para q vaya a otra escena se ejecuta la movie (otra frase) q le corresponde PERO NO DESAPARECE LA OTRA.

No sé si me explico bien.
¿os pongo el código del flash?
Son sólo dos capas.

En una está el texto q es una movie hecha con una interpolación de movimiento.
La movie se llama char.

En la otra,hay tres frames , cada uno de ellos con el siguiente código:

FRAME1
texto = "FRASE Q APARECERÁ";
maximo = length(texto);
// separacion entre caracteres
sep = 15;
// maximo de caracteres por linea
maxlinea = 20;
// salto de linea
salto = 20;
// numero de caracter dentro de una linea
nlet = 0;
xpos = char._x;
ypos = char._y;
char._visible = 0;


FRAME2
// con la sentencia while o for y stop al final de este frame
// se duplican todos a la vez en vez de crear el efecto de maquina de
// escribir. Basta con poner while (i<maximo){ aqui, luego un }stop();
// abajo del todo, y eliminar el Frame3
//
i++;
char.duplicateMovieClip("char"+i, i);
letra = substring(texto, i, 1);
this["char"+i].letra.caracter = letra;
this["char"+i]._x = xpos+(nlet*sep);
this["char"+i]._y = ypos+sepline;
// efectos especiales para la primera letra de cada linea (deshabilitado)
// if (nlet!=0){
// this["char" + i]. _alpha=50;
// }
// para borrar los espacios al principio de las lineas
nlet++;
if (nlet == 1 && letra == " ") {
--nlet;
}
// para no cortar las palabras al final de las lineas
if (nlet == maxlinea) {
if (letra != " ") {
chequear = true;
} else {
nlet = 0;
sepline += salto;
}
}
// el chequeo es un flag que busca el siguiente espacio en la frase para saltar de linea
if (chequear && letra == " ") {
nlet = 0;
sepline += salto;
chequear = false;
}
// para no empezar una palabra justo antes de finalizar una linea
if (nlet == maxlinea-1 && letra == " ") {
nlet = 0;
sepline += salto;
}



FRAME3
if (i<maximo) {
gotoAndPlay(2);
} else {
stop();
}



¿me ayudáis?

Mil gracias por adelantado.



Repo
  #2 (permalink)  
Antiguo 26/11/2003, 10:27
Avatar de expovic  
Fecha de Ingreso: junio-2002
Ubicación: spain
Mensajes: 321
Antigüedad: 15 años, 6 meses
Puntos: 0
Si, muy bien el código pero lo que realmente importa es ¿cómo lo has colocado en las diferentes escenas?. Si las has puesto así porque así, es normal que la frase no te varie ya que es la misma mc. Deberás cambiar los nombre de la mc y su instanacia para cada escena que quieras ponerla.
Saludos ysuerte.
  #3 (permalink)  
Antiguo 27/11/2003, 04:39
 
Fecha de Ingreso: febrero-2003
Mensajes: 256
Antigüedad: 14 años, 9 meses
Puntos: 0
Sí sí , eso he hecho .
Cada movie tiene un nombre.(char1,char2...)

Yo os ponía el flash tal cual lo bajé.Y ese q os puse era el código bajado.

Pero al insertarlo, cada movie tiene un nombre determinado .
De hecho, no es q la frase no varíe, es q sale "frase1" y cuando vas a la escena 2 sale "frase2",pero la "frase1" ahi se queda.

Luego pasan otras cosillas extrañas, pero primero quiero solucionar esto.

Gracias por tu interés.
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 10:35.