Clip suit souris [Résolu]

Messages postés
1393
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011
- - Dernière réponse : musrami
Messages postés
9
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
1 avril 2011
- 31 mars 2011 à 22:41
Voilà j'ai un clip qui suit la souris via _x :

onClipEvent (enterFrame) {
    _x+=_xmouse/10
}

Je souhaiterai que le clip s'arrete si il atteint une certaine limite à gauche et à droite comme des bords invisible !?

merci
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
194
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
16 juillet 2007
1
3
Merci
onClipEvent (enterFrame) {
            _x += _xmouse/10;
            if(_x < 120){
                _x = 120;
            }else if(_x > 405){
                _x = 405;
            }
}

Voila ca marchera mieux. Le truc est qu'il faut modifier le _x quelle que soit la position de la souris (sinon dès que le clip sort de la zone on ne teste plus rien), et apres 'avoir modifié, vérifier qu'il reste dans la zone désirée.

Voili voilou désolé je suis pas en forme ce soir.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 217 internautes nous ont dit merci ce mois-ci

Commenter la réponse de atchoumdu51
Messages postés
338
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
4 janvier 2011
0
Merci
bah tu fais un
if( (x< bordure droite) et (x > bordure gauche))

_x+=_xmouse/10
}

-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
Don't forget accept
Commenter la réponse de faiblard
Messages postés
1393
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011
0
Merci
J'ai essayé sa :

onClipEvent (enterFrame) {
 if ((_x < 120) && (_x > 405)){
 _x+=_xmouse/10
 }
}

Mais sa marche po !!!
Commenter la réponse de Orange73
Messages postés
194
Date d'inscription
jeudi 1 janvier 2004
Statut
Membre
Dernière intervention
16 juillet 2007
1
0
Merci
(_x < 120) && (_x > 405) a vrai dire cette condition ne pourra jamais etre réalisée^^
Je pense que tu as juste inversé les deux valeurs
Commenter la réponse de atchoumdu51
Messages postés
1393
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011
0
Merci
onClipEvent (enterFrame) {
 if ((_x > 120) && (_x < 405)){
 _x+=_xmouse/10
 }
}

Marche po kan meme ^^ !
Commenter la réponse de Orange73
Messages postés
1393
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011
0
Merci
Exact.

Merci bcp sa marche nikel ! :)
Commenter la réponse de Orange73
Messages postés
9
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
1 avril 2011
0
Merci
Salut, je suis un petit bidouilleur en AS (j'ai d'ailleurs beaucoup appris ici).
J'ai fait quelque chose qui ressemble à ça, sauf que j'aimerai que le clip qui suit la souris change de frame quand la souris va vers la droite, puis reviens à la 1ère frame quand il va vers la gauche.
En gros je voudrai faire un perso qui va dans un sens ou dans l'autre selon la direction de la souris...
Merci pour vos réponses.

www.al-onedimension.com
Commenter la réponse de musrami
Messages postés
1393
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
2 août 2011
0
Merci
Hello,

Tu pourrais faire un truc de se genre :

// detection centre de la scene
var stageCenter:Number = stage.stageWidth/2;

stage.addEventListener(MouseEvent.MOUSE_MOVE, changeFrameClip);

function changeFrameClip(e:MouseEvent):void
{
     if(stage.mouseX < stageCenter)
          monClip.gotoAndStop(1);
     if(stage.mouseX > stageCenter)
          monClip.gotoAndStop(2);
}


A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
Commenter la réponse de Orange73
Messages postés
9
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
1 avril 2011
0
Merci
Salut, merci de ta réponse.
En fait le personnage pourrait se trouver dans le coin gauche de la scène qui fera une largeur de 1024pix, attendre qu'il arrive au milieu de la scène pour qu'il passe en 2ème frame c'est pas top. A moins que je choisis de le placer dans une scène de type décor à 360° qui bouge avec la souris...
A voir, je te tiens au courant, merci.

www.al-onedimension.com
Commenter la réponse de musrami
Messages postés
9
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
1 avril 2011
0
Merci
J'ai suivi ton conseil, j'ai juste adapté le code en gardant le principe, càd au moment ou la souris passe un certain nombre supérieur en x, le clip passe en frame2 et il repasse en frame1 quand ce nombre est inférieur en x. (désolé, j'ai pas réussi à intégrer exactement le code que tu m'as filé.)
Ca fonctionne, mais là où c'est un peu dommage c'est que la scène étant à 1024 de largeur, quand le perso est au bord, le temps qu'il franchisse la moitié il fait une marche en arrière...

www.al-onedimension.com
Commenter la réponse de musrami
Messages postés
9
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
1 avril 2011
0
Merci
En fait ce qu'il me faudrait, c'est un code qui traduirait nbre x + x du perso = frame2 , nbre x - x du perso = frame1
Mais chais pas faire ça...

www.al-onedimension.com
Commenter la réponse de musrami
Messages postés
9
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
1 avril 2011
0
Merci
Ben ça y' est j'ai trouvé en bidouillant un peu sans trop y croire, voici le code :
if (_root._xmouse<this._x) {
this.gotoAndStop(1) ;
}
if (_root._xmouse>this._x) {
this.gotoAndStop(2) ;
}

www.al-onedimension.com
Commenter la réponse de musrami