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

Ir a una escena concreta

Estas en el tema de Ir a una escena concreta en el foro de Flash y Actionscript en Foros del Web. Hola amigos: Mi pregunta creo que es sencilla pero me está volviendo loco. Que orden tengo que dar a un botón para ir a una ...
  #1 (permalink)  
Antiguo 29/12/2003, 20:13
 
Fecha de Ingreso: julio-2003
Mensajes: 2
Antigüedad: 20 años, 8 meses
Puntos: 0
Ir a una escena concreta

Hola amigos:

Mi pregunta creo que es sencilla pero me está volviendo loco. Que orden tengo que dar a un botón para ir a una escena concreta de otra película flash.

Por ejemplo:

Como ir de index.swf a la escena 4 de prueba.swf

Gracias por adelantado
  #2 (permalink)  
Antiguo 30/12/2003, 08:15
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
escenas

Es verdad que las escenas se usan poco, solo las recomendaría para hacer animaciones largas sin programción que vayan destinadas a video. Nunca para la web.

Pero si ya has hecho el trabajo, este es el código desde un botón:


on (release) {
gotoAndStop("Escena 1", 1);
}


Suerte
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #3 (permalink)  
Antiguo 30/12/2003, 09:16
 
Fecha de Ingreso: julio-2003
Mensajes: 2
Antigüedad: 20 años, 8 meses
Puntos: 0
Aclarado. Muchas gracias Maltos y gracias Luzzatti
  #4 (permalink)  
Antiguo 30/12/2003, 16:15
mytesare
Invitado
 
Mensajes: n/a
Puntos:
Hola a todos,
Siento mi ignorancia en el tema pero me he introducido en el Flash hace muy poco y estoy haciendo mi primera web, ¿por qué decís que no se debe trabajar con escenas?
Entonces... ¿cómo?
Muchas gracias,
Mayte (mytesare).
  #5 (permalink)  
Antiguo 30/12/2003, 21:34
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
Mensaje

Bueno, las escenas son un rollo.

En realidad podría decirse que no existen. Haz la siguiente prueba: Inserta una primera escena con 9 fotogramas, y una segunda con 10, y una tercera con 10... Ahora en el primer fotograma de la primera escena pon dos botones con los cógigos on (release) {gotoAndStop(10);} y on (release) {gotoAndStop(20);}. Verás como los botones te envían directamente a la escena 2 y 3 respectivamente.

Esto sucede porque ActionScript entiende la línea de tiempo como una única y larga secuencia de fotogramas. Las escenas solo sirven para organizarse el trabajo. Tienen sentido si tienes un storyboard muy largo, o sea si vas a hacer una película en el sentido tradicional de la palabra. pero nada más.
En lugar de la escenas yo prefiero utilizar las etiquetas de los fotogramas: el nombre de fotograma (bueno, la etiqueta) se adjudica por la ventana de propiedades sensible a la selección (en Flash MX), y la orden sería algo así:
gotoAndPlay("etiqueta de fotograma"); o bien gotoAndStop("etiqueta de fotograma");. La etiqueta (label) del fotograma se moverá con el mismo si decides insertar nuevos fotogramas anteriores. Es muy cómodo.

Pero lo mejor de todo (al menos para el trabajo web) es preparar las "escenas" en películas separadas, comprimirlas en diferentes .swf e ir cargándolas a medidad que las necesitas con loadMovie(); o loadMovieNum();. Mírate algún tutorial sobre la sintaxis de puntos en ActionScript (de Flash 5 en adelante). Al principio es un poco lioso, pero vale la pena.

Suerte.
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #6 (permalink)  
Antiguo 02/01/2004, 06:53
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
load movie a fotograma 25

Hola amigos
mi pregunta se parece un poco a la de las escenas, por esto la he puesto aquí.

Cuando desde un boton cargo un movie quisiera ir a parar a un fotograma determinado, pero no se como se hace

me podeis ayudar?
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #7 (permalink)  
Antiguo 02/01/2004, 09:30
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
rutas

Cuando cargas un clip con loadMovie o loadMovieNum, tienes que especificar la ruta o el nivel de destino asignado (en el que se ha cargado el clip) para poder dar una orden posterior.

Por ejemplo
on(release) {
loadMovie("cargado.swf",_root.clip2);
}

para poder dar una orden al clip cargado en el fotograma 5:
_root.clip2.gotoAndStop(5);

o por niveles
on(release) {
loadMovieNum("cargado.swf", 2);
}

y la orden posterior:
_level2.gotoAndStop(5);

Espero que quede claro
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #8 (permalink)  
Antiguo 03/01/2004, 18:43
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
gracias luzzatti

voy a probar
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #9 (permalink)  
Antiguo 04/01/2004, 14:01
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
rutas

luzzatti, lo que no sé, es donde tengo que poner la orden posterior, por ejemplo

_level2.gotoAndPlay(5)

no sé hacerlo, llevo una hora intentandolo, piensa que no estoy acostumbrada a poner rutas ni nada, si me quieres ayudar te lo agradeceré mucho

gracias por adelantado
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #10 (permalink)  
Antiguo 04/01/2004, 20:54
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
¿qué tal en un botón?
on (release) {
_level2.gotoAndPlay(5);
}
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #11 (permalink)  
Antiguo 05/01/2004, 03:54
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
rutas

luzzatti, lo del boton lo tengo claro pero si pongo las ordenes asi

on (release) {
loadMovieNum("web.swf", 0);
}
on (release) {
_level0.gotoAndStop(111);
}


al hacer clic sobre el boton solo obedece la primera orden y se va al fotograma 0 del nivel 0, o sea la segunda orden es como si no existiera

que hago mal?

mil gracias por ayudarme
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #12 (permalink)  
Antiguo 05/01/2004, 10:02
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
Un par de cosas:
El nivel cero, _level0, es en el que se carga la película inicial. La película de _level0 establece la velocidad y tamaño de los fotogramas y el color de fondo para todas las demás películas cargadas posteriormente. Éstas se apilan en niveles superiores al de la película de _level0.

Tienes que asignar un nivel a cada película que cargues mediante loadMovieNum. Si asignas un nivel que ya contiene un archivo SWF (incluido _level0 ), la película de ese nivel se descargará y se sustituirá por la nueva película.

Así, cuando das la orden loadMovieNum("web.swf", 0);, lo que estás haciendo es descargar tu película en la que tienes los botones y poner en su lugar web.swf.

Si esto es lo que quieres, entonces pon en el primer fotograma de web.swf la orden gotoAndStop(111);.

Pero si quieres mantener la película inicial debes cargar web.swf en un nivel superior (_level1 por ejemplo). Puedes poner igualmente la orden gotoAndStop(111);, o bien crear otro botón en la película principal desde el cual ordenar:
on (release) {
_level0.gotoAndStop(111);
}


Suerte
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #13 (permalink)  
Antiguo 08/01/2004, 13:14
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
rutas

Luzzatti, gracias por tus explicaciones, que las entiendo muy bien, y no siempre es facil,

mi problema es el siguiente:

Tengo una web hecha en flash, con una mini presentación al principio, un logo que se convierte en foto, y luego aparecen los botones de "castellano"y "english", bien, supongamos que clicas sobre ingles, se carga otra pelicula en el nivel 2, bien, supongamos que ahora quiero ver la web en español, hago clic sobre "inicio" para volver al inicio, pero no quiero volver a ver la presentacion, quiero ir directamenta al fotograma en que se han cargado los botones del idioma,

puede ser?

si pongo una orden en el fotograma 1 de ir al 111, nunca más podré ver la presentación y yo quiero verla cada vez que entro,

la web en cuestion es:

http://www.amasociados.es/
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #14 (permalink)  
Antiguo 08/01/2004, 15:40
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
Tienes muchas soluciones. Seguro que pensando un poco se te ocurre alguna. A mi se me ha ocurrido esto:

Una vez pasada la presentación, llegas al punto en el que tienes las opciones de idiomas. Todo esto está en el _level0.
Preparas la película en inglés y en español. Las llamas ing.swf y esp.swf respectivamente.

En el botón "English" pones la siguiente orden:
on (release) {
_level0._visible=0;
loadMovieNum("ing.swf", 1);
}

y en el botón "Español"
on (release) {
_level0._visible=0;
loadMovieNum("esp.swf", 1);
}


Por último, en el botón "Home" (en las dos películas) pones esto:
on (release) {
_level0._visible=1;
unloadMovieNum(1);
}


De esta manera siempre que cargas las opciones en el _level1 escondes el _level0. Y cuando las descargas el _level1 vuelves a hacer visible el _level0 allí donde lo dejaste: en el fotograma donde están las opciones de idiomas.

Además, al utilizar siempre el mismo nivel para los dos idiomas, si construyes tu web de una manera ordenada, puede suponerte un considerable ahorro de código.

Suerte
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #15 (permalink)  
Antiguo 14/01/2004, 06:48
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
luzzatti, milgracias por ayudarme,
mira he estado probando lo último que me has explicado

En el boton del idioma tal como me indicas pongo este código

on (release) {
_level0._visible=0;
loadMovieNum("ing.swf", 1);
}

Pero flash me avisa que esta mal, y yo no lo entiendo porque no se actionscript

O sea ya no he podido seguir

me puedes ayudar?

mil gracias
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #16 (permalink)  
Antiguo 14/01/2004, 08:39
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
El código está bien. Pero tienes que asegurarte que esté asociado a un botón (y no a un clip o un frame).

Además tienes que tener la película ing.swf en la misma carpeta que la película principal.

Si sigue sin funcionar, dime que aviso te da exactamente flash.

Sueeeeeeeeerte!
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #17 (permalink)  
Antiguo 14/01/2004, 13:12
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
Luzzatti, funciona!!!!!!!!! mil gracias!!!!!!!!!

bien, ahora que sé hacerlo, me gustaria saber qué hago

con este código le digo que estamos en en nivel 0 y vemos el 0 y queremos que cargue el nivel 1, pero que no cierre el 0

on (release) {
_level0._visible=0;
loadMovieNum("ing.swf", 1);
}

es esto?y con este, le digo que estamos en el cero, pero visible 1 y queremos quitar el 1

on (release) {
_level0._visible=1;
unloadMovieNum(1);
}

no lo tengo muy claro, es asi como te lo digo?
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #18 (permalink)  
Antiguo 14/01/2004, 15:13
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
Action Script

on (release) {
_level0._visible=0;
loadMovieNum("ing.swf", 1);
}

Con esto haces invisible el nivel 0 (pero no lo descargas) y cargas ing.swf en el nivel 1


on (release) {
_level0._visible=1;
unloadMovieNum(1);
}

Con esto descargas el nivel 1 y vuelves a hacer visible el nivel 0

_visible=1 es lo mismo que _visible=true
_visible=0 es lo mismo que _visible=false

Cuando ya lo sabes es sencillo, no?
Suerte
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #19 (permalink)  
Antiguo 14/01/2004, 15:23
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
si, ahora lo entiendo bien, pero......

Otro problema, esta solución que me has dado me va muy bien para una web, pero para otra que es la que más me interesa, no, porque tengo una velocidad de 60 imagenes por segundo en la presentacion, (con menor velocidad no queda bien) y una velocidad mas normal de 24 fotogramas en el resto de la web, y entonces lo que he hecho es definir dos niveles cero, el inicial y els que me sirve para toda la web, con lo que tu solución no me funciona, o si?

Recuerdo que me dijiste que habia muchas maneras de hacerlo, si se te ocurre otra, quizás me sirva

mil gracias otra vez por tu ayuda
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #20 (permalink)  
Antiguo 14/01/2004, 18:41
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
Exclamación niveles y velocidad

Vamos a ver:
Si cargas una nueva película en el nivel 0, todos los demás niveles se descargan y la película del nivel 0 se sustituye por el nuevo archivo. La película del nivel 0 (el nuevo archivo) establece la velocidad.
Es decir, en principio debería funcionar: si tienes una película inicial a 60 fps y cargas otra en nivel 0 a 24 fps, la velocidad te cambiará (a 24). Eso sí, habrás descargado la peli inicial (la de 60 fps).

Espero que te sirva.
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #21 (permalink)  
Antiguo 15/01/2004, 04:57
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
luzzatti, esto que me explicas es justo lo que yo he hecho en mi pelicula, si la quieres ver es http://www.ruscalleda.com

El problema que tengo es que con este planteamiento tu idea para los botones de los idiomas no me funciona, y te preguntaba si tenias otra solucion, para el mismo problema, me entiendes?

Las letras en rojo significan que estas enfadado? lo último que quisiera es que te enfades, perdoname si te he molestado, el problema es que escribiendo las cosas cuesta de entenderse, me parece que tu te explicas muy bien y yo no tanto.

La idea que me brindaste con esta web no funciona, no? o si? y yo no lo se ver?

si me ayudas te lo agradeceré mucho
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #22 (permalink)  
Antiguo 15/01/2004, 05:35
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
No estoy nada enfadado, en absoluto, y no quería dar esa impresión. I'm sorry.

Tal vez la solución sea tan sencilla como volver a hacer la presentación a 24 fps, no me parece muy dificil (he visitado la web)

Suerte
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #23 (permalink)  
Antiguo 15/01/2004, 06:53
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
el problema no es volverla a hacer a 24 fps, sino que solo se ve bien a 60fps, a menos velocidad el crecimiento de lo rectángulos se ve escalonada, no suave como ahora
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #24 (permalink)  
Antiguo 15/01/2004, 07:52
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
¿has probado a cambiar la escala de los rectángulos con AS, y a 24 fps?
Yo he hecho unas pruebas con imágenes mías (a 72 ppp) y me parece que queda suficientemente bien.

Para conseguirlo tienes que convertir las imágenes en clips, y una vez hecho, yo he utilizado este código (asociado al clip):

onClipEvent (load) {
_width=0;
_height=0;
}

onClipEvent (enterFrame) {

if (_width<300) {
_xscale+=5;
_yscale+=5;
}}


La condición if (_width<300) supone que el ancho final de la imagen será 300 px, pero podría ser cualquier otro ancho (pon el que realmente mide la imagen sin escalar).

Suerte
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
  #25 (permalink)  
Antiguo 15/01/2004, 13:26
Avatar de genius  
Fecha de Ingreso: enero-2002
Ubicación: Barcelona
Mensajes: 133
Antigüedad: 22 años, 3 meses
Puntos: 0
luzatti, te importaria mandarme el flash que dices que has probado?

yo he probado esto de los clips y no sé ni por done empezar.

He construido un rectángulo y lo he convertido en clip, pero los códigos donde los pongo?

El AS para mi es un misterio de los grandes
__________________
genius
www.diss-e-ny.com
[email protected]
disseny gràfic i pàgines web
  #26 (permalink)  
Antiguo 15/01/2004, 19:35
Avatar de luzzatti  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 21
Antigüedad: 20 años, 3 meses
Puntos: 0
Exclamación AS

Ahora te lo envío, pero te recomendaría que intentes entenderlo (el código). Copiando y pegando no se va a ningún lado.
Taluego
__________________
joan luzzatti
diseño gráfico y multimedia
[email protected]
www.luzzatti-es.com
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:13.