Foros del Web » Programando para Internet » Javascript »

Comunicación entre Javascript y Flash

Estas en el tema de Comunicación entre Javascript y Flash en el foro de Javascript en Foros del Web. Buenas tardes a tod@s. Tras varias horas de indagar y leerme unos cuantos post del foro.. sigo con problemas al intentar interactuar entre Javascript y ...
  #1 (permalink)  
Antiguo 07/12/2005, 09:04
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 9 meses
Puntos: 10
Comunicación entre Javascript y Flash

Buenas tardes a tod@s.

Tras varias horas de indagar y leerme unos cuantos post del foro.. sigo con problemas al intentar interactuar entre Javascript y Flash.

El tema es poder llamar desde Javascript a una etiqueta o un Frame de mi Flash.

La instrucción Play(), si me funciona correctamente en IE y en Firefox.

La intruccion gotoFrame(x) falla, y no me hace la ejecución.

Me es bastante urgente.. por lo que si hay alguien que sepa como solucionar esto, que me ayude, porfavor.

Muchas gracias a todos.

Un saludo.
  #2 (permalink)  
Antiguo 07/12/2005, 09:09
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 7 meses
Puntos: 5
ayala desgaracia!!
yo hic una clase para eso para mi sitio, pero ayer la elimine de esta computadora (trabajo), ya que hoy voy a renunciar al mismo y no queria dejar nada mio aqui... te hubiese servido bastante... hace el play, stop, gotoanplay, etc etc...... te la debo hermanito
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #3 (permalink)  
Antiguo 07/12/2005, 09:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 4 meses
Puntos: 381
hum ... yo desistí de interactuar desde js a flash hace unos pocos meses dado que Opera no me respondía
  #4 (permalink)  
Antiguo 07/12/2005, 09:25
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 7 meses
Puntos: 5
eso es cierto... c me paso decirte tambien... en IE funciona EXCELENTE, pero en mozilla y los demas a veces funciona y a veces no... hay que darle varios "refresh"..... no c que será, tendré que postear la clase para que todos veamos y asi poder tener una buana clase de ejecutar flash con JavaScript.... que les parece???

yo comensaré posteando la clase que hice... pero sería mañana o pasado mañana, en mi nuevo trabajo
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #5 (permalink)  
Antiguo 07/12/2005, 16:31
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 9 meses
Puntos: 10
Necesito esa libreria...

Buenas noches.

Gracias por contestar a mis preguntas.

Saruman... Hoy mas que nunca necesito de tu sabiduría.

Necesito poder interaccinar desde Javascript con Flash.

En concreto me interesa poder llamar a un fotograma en concreto (o una label interna, me da igual).

Si puedes ayudarme, te lo agradecería.

GRACIAS A TODOS!!!!!!!!!

  #6 (permalink)  
Antiguo 07/12/2005, 16:36
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 4 meses
Puntos: 381
prueba con nombreMovie.GotoFrame(x) (con la G mayúscula)
  #7 (permalink)  
Antiguo 09/12/2005, 11:12
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 7 meses
Puntos: 5
ok javi. te ayudaré, solo que tienes que esperar hasta el lunes mas o menos que me traiga el script de mi casa, ya que todabia no he puesto internet, y bueno, es que acabo de cambiarme de trabajo... espero entiendas

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #8 (permalink)  
Antiguo 12/12/2005, 13:35
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 7 meses
Puntos: 5
el script prometido:
esta clase la hice para trabajar flash con javascript para mi website.... se las dejo y cualquier mejora o critica o comentario de la misma me la hacen saber o la postean aqui mismo en este foro


Código PHP:
/*
Date Created: 10-13-05
Modified Date: 10-20-05
Function Name: jsFlash(Movie)
Porpouse: Clase para manipular un archivo Flash (.SWF).
Movie: Nombre del Objeto Flash
GoLabel: Ir a un label o etiqueta situado en el TimeLine de la animación (alfanumérico)
GoFrame: Ir a un frame o cuadro situado en el TimeLine de la animación (numérico)
StopFlashMovie: Detiene la película
PlayFlashMovie: Reproduce la película
RewindFlashMovie: Comienza la película (primer frame)
ZoomFlashMovie: Aumentar y Disminuir el tamaño de la película. Este valor va de cero (0) a cien (100)
donde cero es el Zoom máximo y cien es el valor original de la misma.
strZoom: Valor entre 0-100 (numérico)
SendDataToFlashMovie: Envía datos a la película siempre y cuando esta tenga un Dynamic Text o Input Text para recivirla.
strFlashObj: Nombre del Dynamic Text o Input Text en la película (alfanumérico)
strValue: Valor o Dato que se le envía al Dynamic Text o Input Text a través de JavaScript a la película (alfanumérico)
ReceiveDataFromFlashMovie: Retorna el valor del Dynamic Text o Input Text que contiene la película
strFlashObj: Nombre del Dynamic Text o Input Text que está en la película (alfanumérico)*/
 
 
function jsFlash(Movie) {
this.Movie Movie;
this.GoLabel GoLabel;
this.GoFrame GoFrame;
this.StopFlashMovie StopFlashMovie;
this.PlayFlashMovie PlayFlashMovie;
this.RewindFlashMovie RewindFlashMovie;
this.ZoomFlashMovie ZoomFlashMovie;
this.SendDataToFlashMovie SendDataToFlashMovie;
this.ReceiveDataFromFlashMovie ReceiveDataFromFlashMovie;
 
 
function 
getFlashMovieObject(movieName) {
if (
window.document[movieName]) {
return 
window.document[movieName];
}
 
if (
navigator.appName.indexOf("Microsoft Internet")==-1) {
if (
document.embeds && document.embeds[movieName])
return 
document.embeds[movieName]; 
} else {
return 
document.getElementById(movieName);
}
}
 
function 
movieIsLoaded(strMovie) {
return 
getFlashMovieObject(strMovie).PercentLoaded() == 100;
}
 
function 
GoLabel(strLabel) {
if (
movieIsLoaded(this.Movie)) {
getFlashMovieObject(this.Movie).TGotoLabel("_level0/"strLabel);
}
}
 
function 
GoFrame(theFrame) {
if (
movieIsLoaded(this.Movie)) {
getFlashMovieObject(this.Movie).GotoFrame(theFrame);
}
}
 
function 
StopFlashMovie() {
if (
movieIsLoaded(this.Movie)) {
getFlashMovieObject(this.Movie).StopPlay();
}
}
 
function 
PlayFlashMovie() {
if (
movieIsLoaded(this.Movie)) {
getFlashMovieObject(this.Movie).Play();
}
//embed.nativeProperty.anotherNativeMethod();
}
 
function 
RewindFlashMovie() {
if (
movieIsLoaded(this.Movie)) {
getFlashMovieObject(this.Movie).Rewind();
}
}
 
function 
ZoomFlashMovie(strZoom) {
if (
movieIsLoaded(this.Movie)) {
getFlashMovieObject(this.Movie).Zoom(strZoom);
}
}
 
function 
SendDataToFlashMovie(strFlashObjstrValue) {
if (
movieIsLoaded(this.Movie)) {
getFlashMovieObject(this.Movie).SetVariable("/:" strFlashObjstrValue);
}
}
 
function 
ReceiveDataFromFlashMovie(strFlashObj) {
if (
movieIsLoaded(this.Movie)) {
return 
getFlashMovieObject(this.Movie).GetVariable("/:" strFlashObj);
}
}


aqui hay un ejemplo de como mas o menos utilizarla (preferiblemente en el evento onload):

Código PHP:
var flash = new jsFlash("TopMenu");
flash.GoLabel("start"); 
el script para el flash requerido:

Código PHP:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="725" height="53" Id="TopMenu" hspace="0" vspace="0">
<
param name="movie" value="/ec/sitefiles/flash/topmenu.swf">
<
param name="menu" value="False">
<
param name="wmode" value="transparent">
<
param name="quality" value="best">
<
param name="play" value="True">
<
param name="loop" value="True">
<
embed src="/ec/sitefiles/flash/topmenu.swf" hspace="0" vspace="0" quality="best" menu="False" name="TopMenu" wmode="transparent" play="True" loop="True" swliveconnect="True" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="725" height="53"></embed>
</
object
espero les guste
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.

Última edición por Saruman; 12/12/2005 a las 16:13
  #9 (permalink)  
Antiguo 13/12/2005, 05:59
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 9 meses
Puntos: 10
Incompatible para Firefox

Hola Saruman (y tunait).

He mirado bastante a fondo la libreria del Flash, y veo que que está muy bien.

El mayor problema que le encuentro es que no es compatible con Firefox (y visto eso.. me supone bastantes problemas).

Crees que sería dificil hacerlo trabajar como multinavegador?

Espero que no fuese muy complicado.

Un saludo!!!!!!!! (bueno, dos, otro para tunait)

  #10 (permalink)  
Antiguo 13/12/2005, 14:50
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años, 7 meses
Puntos: 5
Cita:
Iniciado por el_javi
Hola Saruman (y tunait).

He mirado bastante a fondo la libreria del Flash, y veo que que está muy bien.

El mayor problema que le encuentro es que no es compatible con Firefox (y visto eso.. me supone bastantes problemas).

Crees que sería dificil hacerlo trabajar como multinavegador?

Espero que no fuese muy complicado.

Un saludo!!!!!!!! (bueno, dos, otro para tunait)

si, esto mismo lo mencione recien abriste este tema y bueno, por eso lo puse aqui para que me ayudaran a ver como lo hacemos funcionar par firefox....

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
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 19:34.