Changer un curseur en cliquant

Signaler
Messages postés
9
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
27 mars 2006
-
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004
-
Bonjour,

Est-il possible de changer de curseur lorsqu'un clic de souris est effectué ? (j'ai deux clips, un pour changer le curseur de la souris sans clic et un avec)
Si oui comment faire svp ?

Merci

15 réponses

Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Si ce que tu veux, c'est avoir un curseur lorsque qu'on clique et un autre lorsqu'on clique pas, alors voila le code :
_root.onLoad = function(){
Mouse.hide();
ClipUp.startDrag(true);
ClipDown._visible = false;
}
_root.onMouseDown = function(){
ClipDown.startDrag(true);
ClipDown._visible = true;
ClipUp._visible = false;
}
_root.onMouseUp = function(){
ClipUp.startDrag(true);
ClipUp._visible = true;
ClipDown._visible = false;
}

L'idée : on demande à changer de curseur lorsque la souris change d'état : mouseUp et mouseDown. Le curseur utile est affiché, et le curseur inutile est masqué : _visible.
Messages postés
9
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
27 mars 2006

Merci ! C'est parfait !
Messages postés
9
Date d'inscription
samedi 5 juin 2004
Statut
Membre
Dernière intervention
27 mars 2006

Mais ...

Comment j'adapte ce code ?
Qu'est-ce que j'applique sur le premier clip et sur le deuxième ?

Merci ...
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

- ClipUp = Clip affiché lorsqu'on ne clique pas.
ClipDown = Clip affiché lorsqu'on clique.

- <s>/!\</s> : tu ne peux définir qu'un seul onMouseUp/Down !
Si tu as déjà utilisé ces événements, il faut que tu fasses des regroupements.

- Le code que je t'es donné doit être appliqué à l'image de la scène courante (root = niv0)... pas sur ClipUpou ClipDown.

- Il faut que ClipUp et ClipDown soient nommés et directement posés sur l'image racine (de l'anglais root).

- ClipUp et ClipDown doivent être présentssur toutes les images de l'animation : pas de clip = pas d'action

Voilà, je pense que tu peux te débrouiller avec ça...

Bon courage ;) !
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004

Sur ma scène principal,j'ai dessiné un nouveau pointeur que jai converti en clip ( ce nouveau pointeur remplace le pointeur par défaut ) et j'ai introduit un symbole bouton. Mon problème en fait c'est quel code mettre pour que mon nouveau pointeur redevienne le pointeur par défaut lorsque je survole mon bouton. Car sinon l'internaute aura du mal a savoir que le bouton est un lien.
J'espère avoir été plus ou moins clair et je remercie d'avance pour les réponses à mon problème.

Merci et @++
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Nomme tes clips :
- "cursorOut" pour le curseur normal
- "cursorOn" pour le curseur qui apparaît lorsque tu survoles un bouton.
- "bouton" le bouton :)

Code à mettre sur la première image de ton anim :
// curseur normal
_root.onLoad = function(){
Mouse.hide();
cursorOut.startDrag(true);
cursorOn._visible = false;
}
// Curseur au survol
_root.bouton.onRollOver = function(){
cursorOn._visible = true;
cursorOut._visible = false;
cursorOn.startDrag(true);
}
// Retour au curseur normal
_root.bouton.onRollOut = function(){
cursorOut._visible = true;
cursorOn._visible = false;
cursorOut.startDrag(true);
}


A toi de parfaire !
[mailto:tam@relle.fr.st SuperDevy]
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004

Super, ça marche !

Merci SuperDevy et @++ !
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004

.... Sur ma scène principal, j'ai plusieurs boutons et en reprenant le code de SuperDevy je pensais qu'en nommant tous mes boutons avec le même nom d'occurence que le cursor changerait lorsque je survol tous les boutons, or il ne le fait que sur un seul bouton.
Mes 2 questions sont :
1.Pourquoi il ne marche que sur un seul bouton?
2.Comment dois-je compléter le code pour que mon problème ait une solution ? ( suis-je obligé de retaper les fonctions plusieurs fois pour autant de boutons qu'il ya sur la scène ?).

Merci et @++.
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Un nom ne peut correspondre que à un clip.

Deux méthodes :

-> nommer tres boutons bouton0, bouton1...bouton85
et faire une boucle for
for(var i=0;i<=85;i++){
_root["bouton"+i].onRollOver = function(){
_root.cursorOn._visible = true;
_root.cursorOut._visible = false;
_root.cursorOn.startDrag(true);
}
_root["bouton"+i].onRollOut = function(){
_root.cursorOut._visible = true;
_root.cursorOn._visible = false;
_root.cursorOut.startDrag(true);
}
}

Attention, tu ne peut appliquer qu'une seule fois les evenements rollOver & RollOut

->une fonction appellée par tous les boutons :
function setOver(){
_root.cursorOn._visible = true;
_root.cursorOut._visible = false;
_root.cursorOn.startDrag(true);
}
function setOut(){
_root.cursorOut._visible = true;
_root.cursorOn._visible = false;
_root.cursorOut.startDrag(true);
}

et après, tu mets ce code sur chaque bouton :
on(rollOver){
setOver()
}
on(rollOut){
setOut()
}


A toi de parfaire !
[mailto:tam@relle.fr.st SuperDevy]
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004

Ca marche nickel, merci SuperDevy.

Mais, j'ai remarqué que lorsque l'on survol le pointeur de la souris sur un bouton, et que l'on clik dessus sans relâcher , et que l'on promène la souris ailleurs de la zone du bouton, et bien j'ai encore le cursor du survol qui reste actif.

Comment corriger ce bug ?

Merci d'avance de tes conseils précieux SuperDevy.

Merci et @++
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004

Euhh désolé, mais j'ai juste oublié de te dire que j'avais utilisé ta deuxième méthode.

Merci et @++
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

Et bien, en fait, ce qui se passe, c'est que l'evênement rollOver n'a pas lieu puisque tu restes enfoncé en relachant.

Il faut que tu supprime cet évenement de chaque bouton, et que tu le remplace par un événement global :
_root.onMouseUp = function(){
// Tu peux trouver quoi mettre ici
}


A toi de parfaire !
[mailto:tam@relle.fr.st SuperDevy]
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004

Ok, merci SuperDevy.

Cette animation avec les pointeurs qui changent de forme fait partie d'un document 800/600. En insérant ce .swf ds une page html, je me retouve avec un petit problème : le pointeur de la souris sur les bords de la page html ne marche plus.
J'aurais voulu savoir s'il est possible de coller sur mesure mon .swf ds une page html (j'utilise le logiciel Dreamweaver MX).
Je ne veut pas les rebords par défaut de la page html.
Y'a t'il un code html a insérer sur la page .html ?

Désolé si c'est pas très clair et merci d'avance.

@++
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

C'est une bonne question.
Je ne peux pas te répondre, désolé.

Ce qui est possible, c'est d'ouvrir directement les swf, et non une page web. mais il faut trouver un myen de mettre en zoom 100% !

[mailto:tam@relle.fr.st SuperDevy]
Messages postés
10
Date d'inscription
lundi 18 octobre 2004
Statut
Membre
Dernière intervention
11 décembre 2004

Ok, c'est pas grave et merci qd même .

@++