Como todos sabemos ya, Flash tiene la posibilidad de comunicarse con lenguages del cliente como JavaScript y VBScrip, aca nos enfocaremos a lo primero (JavaScript).
Un ejemplo sencillo, como ya esta mas arriba en ..:: Abriendo un PopUp con Flash ::.. tenemos en flash la necesidad de abrir una ventana pop up de 300x500, para esto nos apoyaremos en el getURL.
En HTML se hace de la siguiente manera.
Código:
<a href="javascript:void(window.open('pagina.html','Titulo' ,'menubar=0,toolbar=0,scrollbars=0,directories=0,c opyhistory=0,resize=0,width=300,height=500'))">Abrir pop up</a>
En flash no existe la etiqueta <a> porque en Flash usamos botones, asi usamos getURL...
Código:
getURL("javascript:void(window.open('pagina.html','Titulo' ,'menubar=0,toolbar=0,scrollbars=0,directories=0,c opyhistory=0,resize=0,width=300,height=300'))")
lo que Void hace es que cuando se ejecuta el link el navegador no se nos cambie a la clasica ventana que dice [object]
Lo mismo podemos hacer con el objeto temblor (shake), para esto tenemos que definir la funcion JavaScript en el <head> del html y despues llamar esta funcion desde un boton.
Asi.
Código:
<SCRIPT LANGUAGE="JavaScript1.2">
function shake_xy(n) {
if (self.moveBy) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
self.moveBy(0,i);
self.moveBy(i,0);
self.moveBy(0,-i);
self.moveBy(-i,0);
}
}
}
}
function shake_x(n) {
if (self.moveBy) {
for (i = 10; i > 0; i--) {
self.moveBy(i,0);
self.moveBy(-i,0);
}
}
}
function shake_y(n) {
if (self.moveBy) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
self.moveBy(0,i);
self.moveBy(0,-i);
}
}
}
}
function mover ( x, y ){
self.moveBy(x, y);
}
//-->
</SCRIPT>
En el boton de Flash...
Código:
on(release){
getURL("javascript:void(mover(5,5))")
}
Claro que los parametros no tienen que ser siempre fijos, imaginemos un juego donde el temblor depende de una variable velocidad, donde algo choca con la pared, para este caso la magnitud del temblor dependera de la velocidad con que este objeto choque.
Esto va algo asi...
Código:
getURL("javascript:void(mover('"+velocidadx+"','"+velocidady+"'))")
Como pueden notar utilizo comillado triple ' ", esto porque es comun que uno envia los datos evaluados de flash como un string, y JS lo interpreta como una variable, en este caso no es importante porque un numero no se evalua como variable, de todas formas acostumbrense a hacerlo de otra forma con los strings no funcionara.
Espero les sea de mucha ayuda.
Disfrutenlo
Saludos
Fuente -->> |
http://www.consultorioinformatico.ne...p?topic=7058.0