IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Détecter si la souris sort du swf


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par défaut Détecter si la souris sort du swf
    Bonjour, j'aimerais savoir si il existe un evenement ou une methode pour détecter lorsque la souris n'est plus dans le swf.
    En fait, j'ai une page html avec un clip à l'interieur et j'ai besoin de déclencher une action lorsque l'utilisateur quitte le swf pour aller naviguer sur ma page.
    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Par défaut
    Alors, il te suffit de créer un clip qui prend toute la taille de ton anim e tu le mets comme fond.

    Ensuite tu utilise la propriété hitTest() et tu regarde tout le temps si la souris touche ton fond, sinon bah à toi de déterminer l'action,

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par défaut
    Excuser moi si ça vous parrait stupide comme question mais je débute avec flash.
    Cela dit merci pour ta reponse c'est une piste à creuser mais j'ai encors quelques problèmes.
    Voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    this.onEnterFrame = function (){
    	if(!this.fond_sensible.hitTest (this._xmouse, this._ymouse,false)){
    		this.gotoAndPlay("depart");
    	}
    };
    Mon animation revient bien au depart lorsque je quite l'animation avec la souris mais uniquement si je maintient le bouton enfoncé.
    En mettant true à la place de false, ça ne marche que à certains endroit de l'annimation et si je vais vite la détection ne se fait pas.
    Des idées?

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Par défaut
    moi j aurais plutot utilisé l evenement onRollOut
    ca evite de tester a chaque enterFrame le hitTest()

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par défaut
    Ben c'est ce que je pensais au debut mais il y a d'autres clips dans l'annimation qui utilisent onRollOut et ils se masquent entre eux. Soit le clip fond_sensible se trouve au dessus des autres et il n'y a que lui qui fonctionne, soit il se trouve en dessous et lorsque je passe sur un autre clip le rollOut se declenche car il est masqué par cet autre clip.

  6. #6
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    Salut,

    Peut etre que le protocol asfunctionpourrai t'aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <embed onMouseOut="asfunction:this._root.maFonctionActionScriptOut;"></embed>
    Je n'est pas put essayer car asfunction n'est pas reconnu chez moi. (Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9)

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Par défaut
    Merci pour cette réponse. Ca a l'air bien mais je comprends pas trop comment ca marche, si quelqu'un peut m'expliquer comment utiliser la fonction définit ici dans le flash ce serait cool.
    Sinon je creuserais la question demain parce que faut pas déconner, on va pas faire des heures sup quand même

  8. #8
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Par défaut
    rectifaication : asfunction est specifique a flash donc ce que j'ais dit est faux.Seul l etxte html de l'animation flash peut executer le protocol asfunction.

    Mais on peu faire autrement.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <object id="monFlash" onMouseOver="javascript:isOver();"  onMouseOut="javascript:isOut();">
      <embed src="monFlash.swf" name="monFlash" swLiveConnect="true"></embed>
    </object>
     
    <script type="text/javascript">
    var elementFlash=window.document.monFlash;
    function isOver()
    {
      elementFlash.TGotoFrame("/my_mc", 1);
    }
    function isOut()
    {
      elementFlash.TGotoFrame("/my_mc", 2);
    }
    </script>

    Le principe:
    Dans ton animation flash, crée un clip (_root.my_mc) avec deux image clef.
    1ere image clef qui contien le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stop();
    trace("La souris ne survole pas l'animation");
    2eme image clef qui contien le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stop();
    trace("La souris survole l'animation");
    J'ais pas testé. Mais j'ais deja eu des probleme avec onMouseOver de la balise object. Donc essai petit a petit.


    faut pas déconner, on va pas faire des heures sup quand même
    ...tu me fais doucement rire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Détecter quand le pointeur souris sort d'une APP.
    Par Bighobbit dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 06/10/2006, 17h49
  2. Réponses: 7
    Dernier message: 21/07/2006, 16h02
  3. Réponses: 4
    Dernier message: 11/06/2006, 05h39
  4. Détecter lorsque l'utilisateur sort d'un controle Image
    Par tebonb dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/12/2005, 08h53
  5. Détecter si une souris est connecté...
    Par Foub dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 31/07/2005, 20h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo