Dans application, créer écran de veille interne

Résolu
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011 - 7 janv. 2011 à 14:55
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011 - 13 janv. 2011 à 11:30
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

Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
13 janv. 2011 à 09:40
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)
3
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
7 janv. 2011 à 15:37
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)
0
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011
7 janv. 2011 à 16:13
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é?
0
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
7 janv. 2011 à 16:30
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
7 janv. 2011 à 16:46
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... ;-) ;
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
7 janv. 2011 à 16:49
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... ;-) ;
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
7 janv. 2011 à 16:52
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... ;-) ;
0
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011
10 janv. 2011 à 17:31
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;
}
0
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011
10 janv. 2011 à 18:26
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;
}
0
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011
10 janv. 2011 à 18:35
Ha non, il n'y a pas de lien avec le mouvement de la sourie ...
Help
0
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011
13 janv. 2011 à 09:06
Hello,

quelqu'un pour m'aider? je ne m'en sors pas !!
0
jo99god Messages postés 7 Date d'inscription mardi 26 octobre 2010 Statut Membre Dernière intervention 13 janvier 2011
13 janv. 2011 à 11:30
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 !!!!
0
Rejoignez-nous