Comunidad de diseño web y desarrollo en internet online

bloquear teclas concretas AS3

Citar            
MensajeEscrito el 06 Nov 2011 04:19 pm
Hola, me estreno en este foro.

Estoy empezando con esto del AS3.

Tengo una pequeña pelicula flash que funciona con las teclas númericas del 1 al 5,

cuando le doy a la tecla 1 reproduce el video 1, cuando le doy a la tecla 2 reproduce el video 2, etc

en codigo:

if(event.keyCode == 49){
var video1:FLVPlayback = new FLVPlayback();
video1.source = "video1.flv";
addChild(video1);
}
if(event.keyCode == 50){
var video2:FLVPlayback = new FLVPlayback();
video2.source = "video2.flv";
addChild(video2);
}
-
-
-

Lo malo de esto esque si le doy a la tecla 1 salta el video uno y bien, funciona el asunto, pero si le doy a la tecla 2 salta el video 2 encima y se empiezan a ver los dos videos a la vez y queda super mal.

Entonces lo que me gustaría esque al pulsar la tecla 1 salte el video 1 pero a la vez se bloquen las teclas númericas 2,3,4 y 5 para que asi no se puedan reproducir varios videos a la vez.

¿ Esto es posible de alguna forma ?

Otra cuestión que tengo es si hay alguna sentencia para cerrar el video cuando se esta reproduciendo y volver al menu original y asi no tener que esperar a ver el video entero.
¿ hay algo para esto? Los vidos son .FLV y los lanzo con el FLVPlayback.

Gracias de antemano, saludos.

Por El_halcon_83

8 de clabLevel



 

msie
Citar            
MensajeEscrito el 07 Nov 2011 06:43 pm
Usa un solo FLVPlayback y cambia el source, no crees uno nuevo cada vez, así no tendrás el problema de superposición

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Nov 2011 12:04 am
Gracias Jorge, ya no se me superponen los videos, funciona bien :)

Ahora tengo otro problemilla, me gustarría poder cerrar el video pulsando la tecla 6, por ejemplo, y mirando los metodos del FLVPlayback he visto que es closeVideoPlayer asi que he puesto este codigo:

if (event.keyCode == 54){
cerrar_video ();
}
function cerrar_video () {
video.closeVideoPlayer(0);
}

pero esto no me funciona :(

en cambio para parar el video si que me funciona bien con este codigo:

if (event.keyCode == 54){
parar_video ();
}
function cerrar_video () {
video.stop();
}

¿ que hay que hacer para poder cerrar el video que se esta reproduciondo en el FLVPlayback ?

saludos

Por El_halcon_83

8 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Nov 2011 01:28 am
Desconocía que existiera closeVideoPlayer, pero lo que puedes hacer es pararlo y luego ocultarlo

video1.visible = false;

o quitarllo

removeChild(video1)

Suponiendo que el FLVPlayback se llame video1

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Nov 2011 10:46 am
Gracias Jorge, me estas ayudando mucho :)

La ultima duda, de verdad, jeje

ahora me gustaría que cuando acabe el video se cierre solo.

He estado mirando por ahi e implementado este codigo que me parecia correcto:

function cerrar(event:VideoEvent):void {
video.visible=false;
}

video.addEventListener(VideoEvent.COMPLETE,cerrar);

pero no funciona :(

Por El_halcon_83

8 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Nov 2011 01:41 pm
EL código es correcto, mira que video sea el FLVPlayback

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Nov 2011 01:52 pm
El error que me da es:

1119: Aceso a una propiedad COMPLETE posiblemente no defenida mediante una referencia con tipo estatico Class.

una cosa, el codigo lo estoy poniendo todo en la linea de tiempo del .fla no estoy usando ninguna clase .as

Saludos

Por El_halcon_83

8 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Nov 2011 01:57 pm
No te olvides de importar la clase

import mx.events.VideoEvent

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Nov 2011 07:21 pm
Nada, he implementado lo que me dices, y más cosas por si acaso,

he estado mirando ejemplos del VideoEvent.COMPLETE y la forma de ponerlo es la misama que he puesto yo, pero me sigue saliendo el mismo error al publicar:

1119: Aceso a una propiedad COMPLETE posiblemente no defenida mediante una referencia con tipo estatico Class.

No se que se me escapa :(

Por El_halcon_83

8 de clabLevel



 

msie
Citar            
MensajeEscrito el 09 Nov 2011 01:10 am
prueba asi:

Código ActionScript :

import fl.video.VideoEvent;
/**/


Salu2


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 09 Nov 2011 11:05 am
Nada chicos,

he implementado lo que me habeis dicho, pero me sigue saliendo el mismo error 1119

y me sabe mal porque he visto el codigo en varios ejemplos por ahi y se que esta bien,

bueno, voy a seguir investigando a ver si consigo dar con la solucion,

se agradece mucho vuestra ayuda.

Saludos !!

Por El_halcon_83

8 de clabLevel



 

msie
Citar            
MensajeEscrito el 09 Nov 2011 03:44 pm
jaja, he econtrado en un foro Ingles a uno que le pasa lo mismo que a mi.

Su comentario:

I have the following code and the FLVPlayback 2.5 item is in the Library:

import fl.video.FLVPlayback;
import fl.video.VideoEvent;

var vid1:FLVPlayback = new FLVPlayback();
vid1.source = "assets/flv/rs_intro.flv";
addChild(vid1);

vid1.addEventListener(VideoEvent.COMPLETE, completeHandler);
function completeHandler(event:VideoEvent):void
{
trace("video done playing");
}

Has anyone any idea why I keep getting the following error:

1119: Access of possibly undefined property COMPLELE through a reference with static type Class

Any help appriecated.

Pero nadie le contesta :(

Sigo buscando a ver, seguro que al final es una tontería.

Estoy trasteando esto con el CS5.5

Saludos

Por El_halcon_83

8 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.