Dans application, créer écran de veille interne

[Résolu]
Signaler
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011
-
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011
-
Bonjour,

Je n'arrive pas à faire ce que je souhaite, c'est à dire réaliser un écran de veille dans mon appli flash.

L'appli est très simple, 2 frame
la première, Stop et un movie clip qui me servirait d'écran de veille
la 2ème, Stop, un menu de boutons appelant des goto vers d'autres frames avec des FLV

Ce que je voudrais c'est retourner sur la première frame en cas d'inactivité de la sourie sur un temps donné, ceci afin de ne pas marquer l'ecran.

J'ai essayé des truc avec des setinterval etc mais comme je me fais un peu tout seul sur l'AS2, là ça me dépasse.
Si quelqu'un avait un code à peu près rédigé ce serait le pied.

12 réponses

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

var mouseBouge = false;

this.onMouseMove = function(){
   gotoAndStop(2);
   mouseBouge = true;
}

function checkVeille(){
if(mouseBouge){
      gotoAndStop(1);
  mouseBouge = false;
   }
}

var inter = setInterval(checkVeille, 1500);



-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

Hello,

Il suffit d'utiliser et coupler les 2 méthodes suivantes : onMouseMove() et onEnterFrame().

A toi de regarder de ce côté :-)

A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011

Je te remercie Orange 73.
Je viens de regarder tes 2 on... mais ça ne me parle pas vraiment comme code, je n'ai jamais utilisé de scripts de ce type.

Tu veux pas m'aiguiller un peu plus parce que franchement, je ne suis pas un flasheur chevronné ...?

par quoi je commence? le onmovemouse?
j'imagine que je dois mettre un 0 quelque part?
le temps se gère comment pour la durée d'inactivité?
Messages postés
1375
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011

Quelquechose dans ce genre :

var mouseBouge = false;

this.onMouseMove = function(){
   mouseBouge = true;
}

this.onEnterFrame = function(){
   if(mouseBouge){
      gotoAndStop(2);   
   } else {
      gotoAndStop(1);
   }
   mouseBouge = false;
}



-- 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
Hello,

tu peux tenter un truc de ce genre :

//tu définis les variables qui vont bien :
var EcMouse:Object = new Object();//l'objet d'écoute d la souris
var Xsouris:number;//la position en _x de la souris quand la souris bouge
var Ysouris:Number;//la position de la souris en _y quand la souris bouge
var Compteur:Number = 0;//la variable Number qui servira à comptabiliser le temps d'inactivité de la souris

//la fonction d'écoute lorsque la souris est en mouvement :
EcMouse.onMouseMove = function(){
Xsouris = _xmouse;
Ysouris = _ymouse;
}

//la fonction d'écoute lorsque l'on relâche la souris,
//fonction qui lance un setInterval pour comptabiliser l'inactivité de la souris :
EcMouse.onMouseUp = function(){
Tempo = setInterval(Compter, 1000);
}

//la fonction d'écoute lorsque l'on clique sur la souris,
//fonction qui stoppe le setInterval et réinitialise à 0 la variable Compteur :
EcMouse.onMouseDown = function(){
clearInterval(Tempo);
Compteur = 0;
}

//la fonction exécutée par le setInterval qui comtabilise le temps d'inactivité
//de la souris, si la souris est inactive durant 10 secondes, on retourne en frame 1 :
function Compter(){
Compteur += 1;
if(Compteur == 10){
gotoAndSop(1);
clearInterval(Tempo);
Compteur = 0;
}
}


A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Bon ben je vois qu'Orange73 t'as donné une piste plus rapidement que moi .
A toi de tester les 2 et compiler au besoin pour parvenir à ce que tu souhaites.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
J'ajouterai cependant que si tu veux optimiser au mieux ton application, il serait préférable de ne travailler que sur une seule frame :
ton "écran de veille" pourrait simplement être un clip que tu appelles et lis lorsque tu le souhaites,
ainsi lorsque l'utilisateur clique sur la souris, tu supprimes le clip et affiches à nouveau ton menu avec tes flv. ce sera plus souple et plus propre que de jongler sur 2 frames.

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011

OK, merci de vos réponses.
J'ai essayé de mixer un peu les 2 codes (Orange73 pour détecter la sourie et BBFUNK01 pour la tempo) mais ça ne marche pas.
dés que je lache la souris, je vais sur la frame 1, pas de décompte.
Ci dessous mon essai de mixe surement bourré d'erreurs, si vous voulez bien me filer un ptit coup de main supplémentaire?

var mouseBouge = false;
var Compteur:Number = 0;

this.onMouseMove = function(){
mouseBouge = true;
}

this.onEnterFrame = function(){
clearInterval(Tempo);
Compteur = 0;
if(mouseBouge){
gotoAndStop(2);
} else {
Tempo = setInterval(Compteur, 5000);
gotoAndStop(1);
clearInterval(Tempo);
Compteur = 0;
}

mouseBouge = false;
}
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011

Alors, à force de bidouille, j'ai un truc qui commence à fonctionner.
Par contre, la temporisation ne marche qu'une fois, ensuite elle zappe tout de suite

var mouseBouge = false;
var Compteur:Number = 0;

this.onMouseMove = function(){
mouseBouge = true;
}

this.onEnterFrame = function(){
if(mouseBouge){
clearInterval(Tempo);
Compteur = 0;
}else{
Tempo = setInterval(Compter, 10000);
}
mouseBouge = false;
}

function Compter(){
Compteur += 1;
if(Compteur = 10){
gotoAndStop(1);
}
clearInterval(Tempo);
Compteur = 0;
}
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011

Ha non, il n'y a pas de lien avec le mouvement de la sourie ...
Help
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011

Hello,

quelqu'un pour m'aider? je ne m'en sors pas !!
Messages postés
7
Date d'inscription
mardi 26 octobre 2010
Statut
Membre
Dernière intervention
13 janvier 2011

Super, Génial, je t'aime Orange73 !!!
J'ai juste remplacé le gotoAndStop(2) par un stop car sinon, dés que je bougeais la sourie j'avais un retour non désiré sur l'image 2.
Sinon, ça marche Nickel !!!!

Je te remercie encore, tu sauve et égaye ma journée !!!!