3 flv jugando en un flashfile

  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Agosto 29th, 2008, 1:04 am

Hola Flash expertos,

Im en una situación donde tienen 3 flvs y me gustaría fusionar en 1 flashfile. Esto podría ser fácil pero también quiero hacer 3 botones en el archivo flash fusionada, donde cada botón desempeña uno de los 3 flvs

Por lo tanto, para reducir loadingtime, quisiera cargar los 3 archivos a través de un flahfile, y no como un fichero fusionado completamente.

Al mismo tiempo, al hacer clic en un botón, los 3 flv debe desempeñar en una fila, si hace clic en el botón 2, sólo flv2 y flv3 debe desempeñar etc
Imagen
Soy sólo un principiante en flash, y la acción de secuencias de comandos. Mi pensamiento era utilizar el loadmovie () comando pero no puedo hacerlo funcionar.

Tiene algunos de ustedes alguna idea de cómo resolver este problema, y eventualy me guía en la dirección correcta.

Gracias.

/ Martin
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Agosto 29th, 2008, 1:04 am

  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23404
  • Loc: Woodbridge VA
  • Status: Offline

Nota Agosto 29th, 2008, 4:47 am

El problema con FLVs es que tienen que estar en el fotograma 1 de la línea de tiempo de película.

Para jugar a ellos en forma consecutiva este trabajado para mí.
En primer lugar, así poder trabajar con Action Script 2 y el componente FLVPlayback, así que tienes que estar utilizando Flash 8 o superior.

Para un ejemplo de la prueba crear un archivo flash para cada uno de sus FLVs

Llame a la primera flv1.swf la flv2.swf segunda y la tercera flv3. swf y agregar el componente FLVPlayback y flv adecuadas para cada uno, en un fotograma de la capa uno
* Nota * - Guardar todos los archivos en el directorio raíz misma de la carpeta que está trabajando in
* Nota importante * Con el fin de lo que Im que va a mostrar a trabajar, cuando de codificación de su FLVs necesita agregar dos cuepoints. En el comienzo de la película de añadir un cuePoint y lo llaman "comenzar" con un tipo de "navegación". Luego de limpieza para el final de la película y darle un cuePoint y darle un nombre de "final" con un tipo de "evento" (navegación también probablemente el trabajo pero por lo general el uso de eventos - Ive caído en el hábito de hacer esto con todos mis FLVs cuando codifican de modo que por lo menos tengo un comienzo y el final cuePoint. - Si su FLVs no tienen cuepoints codificada, puede "crear" con guión de acción y de detectores de eventos, pero su bastante más complicado).

A continuación, cree una nueva película y lo llaman main.swf y dar un nombre de su elección para la capa 1
y luego añadir una nueva capa y lo llaman etiquetas, y luego añadir una capa de acciones.

En todas las capas añadir un fotograma clave en el fotograma 10 y otro en el fotograma 20 y uno en el fotograma 30 (puede hacerlo en solo marco 2 y 3, pero usted va a querer etiqueta de fotograma 1,10 y 20 y de poner su fotogramas clave no habrá le permiten ser capaz de ver / leer las etiquetas.


Deja comienzo con marco de 1 de main.swf
en la capa de las etiquetas, crear una etiqueta para el 1 y el marco llaman "movie1", el fotograma 10 la etiqueta "movie2", y el marco de 20 "movie3".
1, haga clic en el marco de la capa de sus acciones y abrir su panel de acciones.

Copia este código
Código: [ Select ]
stop();
if(xx == 1)
{
gotoAndPlay('movie2');
}
else
{
loadMovie("movie1.swf",1);
}
  1. stop();
  2. if(xx == 1)
  3. {
  4. gotoAndPlay('movie2');
  5. }
  6. else
  7. {
  8. loadMovie("movie1.swf",1);
  9. }


Permite romper eso.
if (xx == 1) / / Aquí vamos a crear una instrucción if para probar el valor de "xx". (En un momento, vamos a crear una variable global en flv1.swf y establecer el valor de xx igual a 1 por lo que no se preocupe de que ese valor viene por ahora) .
Así que cuando entramos en el fotograma 1 de la principal. swf y XX ya tiene un valor de 1 se va a saltar este marco y el marco gotoAndPlay 10 (es decir, la etiqueta movie2). De lo contrario, va a cargar movie1.swf en el nivel 1 y reproducir FLV en primer lugar.


Ahora abre tu FLA para movie1 que ha creado.
Añadir una capa de acciones por encima de la capa de su FLV de componentes.

Copia este código:
Código: [ Select ]
stop();
_global.xx = 1;
import mx.video.*;
var listenerObject1:Object = new Object();
listenerObject1.cuePoint = function(eventObject:Object):Void {
     var cuePtName = eventObject.info.name;
     if (cuePtName == "end") {
     my_FLVPlybk.loadMovie("main.swf",1);
     
     //trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime);
     //trace("Cue point name is: " + eventObject.info.name);
     //trace("Cue point type is: " + eventObject.info.type);
      }
  };
my_FLVPlybk.addEventListener("cuePoint", listenerObject1);
  1. stop();
  2. _global.xx = 1;
  3. import mx.video.*;
  4. var listenerObject1:Object = new Object();
  5. listenerObject1.cuePoint = function(eventObject:Object):Void {
  6.      var cuePtName = eventObject.info.name;
  7.      if (cuePtName == "end") {
  8.      my_FLVPlybk.loadMovie("main.swf",1);
  9.      
  10.      //trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime);
  11.      //trace("Cue point name is: " + eventObject.info.name);
  12.      //trace("Cue point type is: " + eventObject.info.type);
  13.       }
  14.   };
  15. my_FLVPlybk.addEventListener("cuePoint", listenerObject1);


Permite romper ese abajo:
_global.xx = 1; / / Recuerdo que me dijo que íbamos a establecer el valor del XX en la película de nuestro FLV1 y Heres donde lo hacemos. Queremos hacerlo de manera global a su disposición en todo.
A continuación se crea un objeto de escucha y lo llaman "listenerObject1" Si youve trabajado con objetos que la función de escucha debe mirar muy familiar. * Nota * Para este ejemplo, puse el nombre de mi instancia de FLVPlayback con el nombre de instancia my_FLVPlybk (cuidado con la ortografía). Si usted tiene un nombre de instancia diferente para su FLV a continuación, cambiar cada aparición de my_FLVPlybk a punto de su nombre de instancia.)

Si desea, puede descomentar las huellas para ver cuál está sucediendo.

OK, entonces ¿qué estamos haciendo aquí.
Cuando nuestros main.swf película se reproduce por primera vez, flv1.swf no se ha cargado todavía, así que el valor de xx es nula, y como resultado nos flv1.swf carga y empezar a jugar ya. Al mismo tiempo, estamos a nivel mundial estableciendo el valor de xx a 1. como el flv llega a su fin, el detector de eventos recoge el cuePoint "fin" y carga main.swf en el nivel uno - su importancia para mantener el nivel siempre la misma, de lo contrario podría encontrar su FLV1 sigue desempeñando al mismo tiempo su flv2 hace, etc

Una vez que regresó a weve main.swf, esta vez en el fotograma 1 el valor de la XX es de un 1 por eso en vez de jugar FLV1 de nuevo, ahora nos saltamos a fotograma 10 (etiqueta movie2).

¿Está siguiendo la lógica?
Ahora quiere repetir el proceso anterior con flv2, pero esta vez para la variable global en lugar de xx, yy el uso de modo que no hay que confundir las cosas.
Además, en sus acciones FLV2, además de establecer _global.yy = 1; Usted también querrá revertir lo que youve hecho a FLV1 y establecer _global. xx = 0; ( * Nota * Si no lo hace, su valor de xx seguirá siendo 1, en cuyo caso, movie1 nunca jugar otra vez - sin embargo, donde se establece que esto es importante - Ill te permiten jugar con un poco para ver si usted puede averiguar dónde y por qué ) .

Esto debería ser suficiente para que pueda trabajar a través de donde se puede obtener toda la cosa para jugar continuamente. Sólo tienes que seguir la misma lógica para FLV3.

Ahora, en la medida de lo botones, añadir una nueva capa a main.swf para usted botones.
La enfermedad le permiten trabajar a través de los botones del mismo, pero básicamente, por su onRelease acciones de botón, usted va a necesitar para descargar la película se está reproduciendo gotoAndPlay antes de la próxima película, de lo contrario theyll estar jugando en uno encima del otro.

La enfermedad le permiten trabajar con esas ideas. Si usted tiene alguna pregunta o atascarse pregunte.
* Una nota importante apellidos * Darse cuenta de que si se copia el código exacto de FLV1 acciones a su flv2 película no va a trabajar. ¿Por qué? porque va a cargar main.swf después de la película 2 juega y va a comenzar a jugar en frame1 de principal, no en el fotograma 10. y también porque es necesario establecer a nivel mundial no la variable aa la variable xx. Vamos a ver si se puede averiguar cómo conseguir que regrese a fotograma 10. (ver mi nota anterior acerca de cómo establecer el valor global de xx a 0 como una pista) :D
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Agosto 30th, 2008, 1:09 am

Hey Atno / TW,

Wauw lo que es una gran respuesta. No puedo probarlo antes del lunes, pero estoy seguro de que realmente me ayudó mucho en la dirección correcta.

Saludos cordiales
Martin
  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23404
  • Loc: Woodbridge VA
  • Status: Offline

Nota Agosto 30th, 2008, 3:25 am

Probablemente es una manera más fácil, y yo ni siquiera han jugado con hacerlo en AS3, pero Im seguro theres alguna manera sólo se puede hacer todo esto en acción script y lo llaman y de archivo XML. Me refiero a Im seguro de lugares como YouTube no lo hace, como he señalado, pero al menos sé que de esta manera las obras.
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 12:58 am

Hey Atno,

Ahora juega con él por cerca de un rato, pero im pegado.

Esto es lo que he hecho hasta ahora:

Cuepoints están listos, cada archivo llamado flv1.swf etc

Main.swf creado una nueva con 3 capas

Película PWS
Etiquetas
Acciones

PWS película está vacía (sólo 3 fotogramas clave en 1 10 20)
Etiquetas tiene 3 etiquetas (movie1 movie2 movie3)
Tiene las siguientes acciones de código.

fotograma clave 1

Código: [ Select ]
 
stop();
if(xx == 1)
{
gotoAndPlay('movie2');
}
else
{
loadMovie("movie1.swf",1);
}
 
  1.  
  2. stop();
  3. if(xx == 1)
  4. {
  5. gotoAndPlay('movie2');
  6. }
  7. else
  8. {
  9. loadMovie("movie1.swf",1);
  10. }
  11.  


keyframe2

Código: [ Select ]
 
stop();
if(yy == 1)
{
gotoAndPlay('movie3');
}
else
{
loadMovie("movie2.swf",10);
}
 
  1.  
  2. stop();
  3. if(yy == 1)
  4. {
  5. gotoAndPlay('movie3');
  6. }
  7. else
  8. {
  9. loadMovie("movie2.swf",10);
  10. }
  11.  


He cambiado loadMovie ( "movie2.swf", 10); a 10 y movie2, yo no sé si esto es correcto, pero fue mi mejor tiro.

Keyframe3 es el mismo que keyframe2 con un par de números cambiaron.

En flv1.swf Tengo el siguiente ActionScript

Código: [ Select ]
 
stop();
_global.xx = 1;
import mx.video.*;
var listenerObject1:Object = new Object();
listenerObject1.cuePoint = function(eventObject:Object):Void {
     var cuePtName = eventObject.info.name;
     if (cuePtName == "end") {
     my_FLVPlybk.loadMovie("main.swf",1);
     
     //trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime);
     //trace("Cue point name is: " + eventObject.info.name);
     //trace("Cue point type is: " + eventObject.info.type);
      }
  };
my_FLVPlybk.addEventListener("cuePoint", listenerObject1);
 
  1.  
  2. stop();
  3. _global.xx = 1;
  4. import mx.video.*;
  5. var listenerObject1:Object = new Object();
  6. listenerObject1.cuePoint = function(eventObject:Object):Void {
  7.      var cuePtName = eventObject.info.name;
  8.      if (cuePtName == "end") {
  9.      my_FLVPlybk.loadMovie("main.swf",1);
  10.      
  11.      //trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime);
  12.      //trace("Cue point name is: " + eventObject.info.name);
  13.      //trace("Cue point type is: " + eventObject.info.type);
  14.       }
  15.   };
  16. my_FLVPlybk.addEventListener("cuePoint", listenerObject1);
  17.  


Lo mismo en flv2 y 3, acaba de cambiar el XX yy y zz, y el ( "main.swf", 1) a 10 y 20.

No aparece nada cuando toco la main.swf.

Pero tengo un par de preguntas.

1. Usted dice que el FLVPlayback debe ser llamado my_FLVPlybk. ¿Pero dónde? Acabo de dar el nombre de instancia con my_FLVPlybk - ¿es correcto?

2.You movie1.swf llamada, pero no tengo un archivo llamado que, ¿Me perdí algo?

3. ¿Estoy algo que falta en la capa de main.swf PWS película. En este punto su vacías.

Lo siento por mi muchas preguntas. Realmente appriciate su ayuda.

Gracias.
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 1:28 am

Bueno, ya he cambiado la movie1.swf til flv1.swf y ahora la película está jugando a través de las 3 películas. -- ¿Es esto correcto?

Hasta ahora todo va bien.

Pero me strugling con el conjunto _global.xx = 0; no puedo averiguar cómo colocarla correctamente.

Yo no empezó con los botones aún.
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 2:50 am

Bueno ahora parece funcionar bastante suave. Las 3 películas están jugando en una fila.

Me colocó la _global.xx = 0; función en la parte inferior de flv1.swf acción script. ¿Es esto correcto?

La razón por la que la ha colocado ahí es para borrar la función después de la película se juega.

Ahora sólo necesitamos los botones para el trabajo. Estoy trabajando en ello ahora mismo pero estoy con la strugling en función relase.
  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23404
  • Loc: Woodbridge VA
  • Status: Offline

Nota Septiembre 11th, 2008, 3:20 am

Bueno, pensar en ello lógicamente. onRelease la primera cosa que quiero hacer es descargar el juego actualmente swf. Entonces usted va a querer gotoAndStop en el cuadro siguiente.
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 3:37 am

Bueno voy a intentar :)

Yo no soy muy bueno en la estructura del código, pero es algo como esto:

En primer lugar tenemos el botón

button1.onRelease = function () (

)

A continuación, queremos descargar el juego swf. Esto debe main.swf?

unloadMovie (main.swf);

Luego nos dirigimos al cuadro siguiente como

gotoAndPlay ( "Cinema1");

¿Estoy en el camino correcto? Malos admitir que estoy tratando con venda
  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23404
  • Loc: Woodbridge VA
  • Status: Offline

Nota Septiembre 11th, 2008, 4:12 am

derecho, salvo Id sugieren usar gotoAndStop, frente a la acción gotoAndPlay El script en cuadro 2 se carga la segunda película.
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 5:12 am

Lo siento a escribir de nuevo, pero que no funcionará.

No entiendo la gotoandplay vs gotoandstop.

¿Puede profundizar un poco más?
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 5:17 am

¿Es esto correcto?

Código: [ Select ]
 
button1.onRelease = function() {
    gotoAndStop('movie2');
    gotoAndStop('movie3');
    gotoAndPlay('movie1');
}
 
  1.  
  2. button1.onRelease = function() {
  3.     gotoAndStop('movie2');
  4.     gotoAndStop('movie3');
  5.     gotoAndPlay('movie1');
  6. }
  7.  


Pensé que tenía que parar tanto la película 2 y 3, porque no sé cuando el usuario está haciendo clic en el botón 1.

Pero no se detiene la película otra.

Btw. Fue el _global.xx set = 0; colocado correcta?
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 5:27 am

Bueno lo siento mi última respuesta fue estúpido.

Sólo tiene que usar gotoandstop o gotoandplay, me sale esto ahora.

Pero no puedo obtener el unloadmovie a trabajar. Cualquier sugerencias?
  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23404
  • Loc: Woodbridge VA
  • Status: Offline

Nota Septiembre 11th, 2008, 5:50 am

Pruebe esto button1
Código: [ Select ]
button1.onRelease = function() {
     unloadMovie(_level1);
     gotoAndStop('movie2');
 }
  1. button1.onRelease = function() {
  2.      unloadMovie(_level1);
  3.      gotoAndStop('movie2');
  4.  }


_level1 es el nivel de la película que se está reproduciendo y debe descargar y luego ir al fotograma 2
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • martintygsen
  • Newbie
  • Newbie
  • No Avatar
  • Registrado: Ago 29, 2008
  • Mensajes: 14
  • Status: Offline

Nota Septiembre 11th, 2008, 6:09 am

Hey Atno,

En primer lugar darle las gracias por ayudar a todo esto.

Parece que su código está trabajando bien. Pero cuando lo hacen los otros botones como este, no funcionan tan bien.

Creo que tal vez hizo algo malo con el _global.xx set = 0; que puse aquí:
Código: [ Select ]
stop();
_global.yy = 1;
import mx.video.*;
var listenerObject1:Object = new Object();
listenerObject1.cuePoint = function(eventObject:Object):Void {
    var cuePtName = eventObject.info.name;
    if (cuePtName == "end") {
    my_FLVPlybk.loadMovie("main.swf",10);
    
    //trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime);
    //trace("Cue point name is: " + eventObject.info.name);
    //trace("Cue point type is: " + eventObject.info.type);
     }
};
my_FLVPlybk.addEventListener("cuePoint", listenerObject1);
_global.xx = 0;
  1. stop();
  2. _global.yy = 1;
  3. import mx.video.*;
  4. var listenerObject1:Object = new Object();
  5. listenerObject1.cuePoint = function(eventObject:Object):Void {
  6.     var cuePtName = eventObject.info.name;
  7.     if (cuePtName == "end") {
  8.     my_FLVPlybk.loadMovie("main.swf",10);
  9.     
  10.     //trace("Elapsed time in seconds: " + my_FLVPlybk.playheadTime);
  11.     //trace("Cue point name is: " + eventObject.info.name);
  12.     //trace("Cue point type is: " + eventObject.info.type);
  13.      }
  14. };
  15. my_FLVPlybk.addEventListener("cuePoint", listenerObject1);
  16. _global.xx = 0;
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Septiembre 11th, 2008, 6:09 am

Publicar Información

  • Total de mensajes en este tema: 21 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 38 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC