Action de la touche echap dans un script as2

Signaler
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
-
Messages postés
1
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
18 décembre 2010
-
Bonjour à toutes et à tous,

je suis en train de créer un player flv en as2 avec l'option fullscreen.
J'ai configuré ma fonction fullscreen et ça marche impeccable, le seul problème c'est qu'il me faut appuyer 2 fois sur "echap" pour revenir en mode normal.
Je cherche donc comment la touche "echap" dans mon script as2 afin de définir une fonction pour qu'en 1 clic cela remette l'affichage normal.
Donc si quelqu'un a la solution je veux bien la connaître.

Voici mon script pour l'action sur le clavier :
var ecouteur_clavier = new Object();
ecouteur_clavier.onKeyDown = function() {
    gotoandPlay(1);
maVideo._width = 550;
maVideo._height = 400;
maVideo._x = 319;
maVideo._y = 167;
btn_full._visible = true;
btn_full.enabled = true;
btn_normal._visible = false;
btn_normal.enabled = false;
}


Merci à tout le monde,

BBFUNK01

11 réponses

Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Je viens de tester avec ce code-ci :
var ecouteur_clavier = new Object();
ecouteur_clavier.onKeyDown = function() {
if (Key.isDown(Key.ESCAPE)){
maVideo._width = 550;
maVideo._height = 400;
maVideo._x = 319;
maVideo._y = 167;
btn_full._visible = true;
btn_full.enabled = true;
btn_normal._visible = false;
btn_normal.enabled = false;
}
}
Key.addListener(ecouteur_clavier);


Mais ça ne change rien au problème.
Comment faire donc pour indiquer dans le script une action sur la touche "echap" du clavier afin qu'une seule pression sur la touche suffise pour revenir au mode normal ?

Merci,

BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
J'ai également testé ainsi :
var ecouteur_clavier = new Object();
ecouteur_clavier.onKeyDown = function() {
if (Key.getCode() == 27){
maVideo._width = 550;
maVideo._height = 400;
maVideo._x = 319;
maVideo._y = 167;
btn_full._visible = true;
btn_full.enabled = true;
btn_normal._visible = false;
btn_normal.enabled = false;
}
}
Key.addListener(ecouteur_clavier);


...toujours avec le même résultat, à mon avis il faut peut-être intervenir sur le code de la page html après publication (en plus de la configuration du fullscreen).

BBFUNK01
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

Hello,

Et simplement activer le mode fullscreen comme ceci :

Stage.displayState = "fullScreen";


Et pour revenir en mode normal :

Stage.displayState = "normal";


A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Salut Orange,

j'ai bien mis les instructions "Stage.displayState "fullscreen"" pour passer en mode fullscreen, et "Stage.displayState "normal"" pour revenir en mode normal.
Ces 2 actions sont dans mon bouton "fullscreen", mais le problème concerne la touche "echap" du clavier : avec l'instruction que j'ai mise dans le post précédent, je suis obligé de presser 2 fois la touche "echap" pour revenir en mode normal. Lorsque j'avais testé avec une simple animation : pas de problème, en appuyant sur "echap" on revient en mode normal, mais comme là je réalise un lecteur flv : c'est donc la vidéo que je mets en fullscreen et non l'animation, lors du passage en fullscreen : pas de problème, c'est au moment où il faut revenir en mode normal que ça foire avec la touche "echap" qu'il faut que je presse 2 fois.
Donc je ne sais pas s'il y a un truc pour palier à ça, je pense que d'autres ont déjà eu ce problème.

Merci,

BBFUNK01
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

Envoi petite source ? :-)


-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Re Orange73,

je ne peux pas t'envoyer la source tout de suite car je suis au boulot et je n'ai pas mes fichiers sous la main, je te les enverrai ce soir si tu veux.
Par contre de mémoire, voici comment j'interviens sur la taille de ma vidéo pour le mode fullscreen :

Lorsque j'appuie sur mon bouton "fullscreen" :
ma_video._width = Stage._width;
ma_video._height = Stage._height;
ma_video._x = 0;
ma_video._y = 0;

Donc c'est ce code qui me permet d'afficher "ma_video" et seulement "ma_video" en plein écran.
Donc après vient le code que j'ai mis plus haut pour le redimensionnement lors du retour en mode normal (j'ai pas encore testé en fait avec le bouton "fullscreen" pour le retour en mode normal car je n'ai pas encore configuré mon clip "barres des tâches" du player pour qu'il s'affiche par dessus la vidéo en fullscreen).
Donc c'est cette foutue touche "echap" qui ne marche pas du 1er coup pour revenir en mode normal.

BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Re Orange73,

je viens à l'instant d'avoir un éclair d'intelligence :

mon code ne peut évidemment pas marcher car je ne précise pas que c'est lorsqu'on est en mode "fullscreen" qu'en appuyant sur la touche "echap" ma vidéo doit être redimensionnée.
Je pense donc que ce code devrait marcher :
var ecouteur_clavier = new Object();
ecouteur_clavier.onKeyDown = function() {
        if (Stage.displayState == "fullscreen"){
if (Key.getCode() == 27){
maVideo._width = 550;
maVideo._height = 400;
maVideo._x = 319;
maVideo._y = 167;
btn_full._visible = true;
btn_full.enabled = true;
btn_normal._visible = false;
btn_normal.enabled = false;
}
    }
}
Key.addListener(ecouteur_clavier);


Je teste ça après 16h lorsque je serai chez moi.

BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Re Orange73,

bon ben du coup ça ne marche pas non plus, c'est la désillusion.
J'ai testé comme ça :
if (Stage.displayState = "fullscreen"){
var ecouteur_clavier = new Object();
ecouteur_clavier.onKeyDown = function():Void{
if (Key.getCode() == 27){
maVideo._width = 550;
maVideo._height = 400;
maVideo._x = 319;
maVideo._y = 167;
btn_full._visible = true;
btn_full.enabled = true;
btn_normal._visible = false;
btn_normal.enabled = false;
}
}
Key.addListener(ecouteur_clavier);
}


... et ça ne change rien.

Je t'envoie les fichiers par mail si tu veux y jeter un coup d'oeil.

BBFUNK01
Messages postés
1
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
24 octobre 2010

Ca date un peu, mais j'ai eu le même soucis et j'ai trouvé une solution:
// switcher fullscreen / normal avec un bouton
var etatView:String = Stage.displayState;
var wasFullscreen:Boolean = false;
this.barreOutil_mc.barreOutilContainer_mc.fullscreen_btn.onRelease = function() {
if (etatView == "normal") {
wasFullscreen = true;
Stage.displayState = "fullScreen";
var view:String = "fullScreen";
this.gotoAndStop(2);
changeToFullscreenView_fct();
}
if (etatView == "fullScreen") {
Stage.displayState = "normal";
var view:String = "normal";
this.gotoAndStop(1);
changeToNormalView_fct();
}
etatView = view;
}

// Passer de fullscreen à normal avec ESCAPE
fullscreenTest_btn.onEnterFrame = function () {
if (Stage.displayState == "normal" and wasFullscreen) {
wasFullscreen = false;
etatView = "normal";
barreOutil_mc.barreOutilContainer_mc.fullscreen_btn.gotoAndStop(1);
changeToNormalView_fct();
}
}


fullscreenTest_btn étant juste un mc vide.
changeToNormalView_fct() et changeToFullscreenView_fct() sont des fonctions qui me permettent de placer certains trucs sur la scène mais qui n'ont aucun intérêt ici
J'ai testé, ça marche chez moi
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Hello,

c'est sympa de répondre mais depuis le temps le problème est réglé .
Merci quand même .

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Messages postés
1
Date d'inscription
mardi 3 avril 2007
Statut
Membre
Dernière intervention
18 décembre 2010

Hello, je galère sur le même problème... peux tu me dire comment tu t'en es sortie ? :)

merci