Changer un curseur en cliquant

Kryogen5 Messages postés 9 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 27 mars 2006 - 6 juin 2004 à 23:19
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004 - 20 oct. 2004 à 23:40
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

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
7 juin 2004 à 08:46
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.
0
Kryogen5 Messages postés 9 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 27 mars 2006
7 juin 2004 à 19:35
Merci ! C'est parfait !
0
Kryogen5 Messages postés 9 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 27 mars 2006
7 juin 2004 à 23:06
Mais ...

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

Merci ...
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
8 juin 2004 à 09:29
- 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 ;) !
0

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

Posez votre question
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004
18 oct. 2004 à 23:10
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 @++
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
18 oct. 2004 à 23:44
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]
0
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004
19 oct. 2004 à 09:32
Super, ça marche !

Merci SuperDevy et @++ !
0
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004
19 oct. 2004 à 17:38
.... 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 @++.
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
19 oct. 2004 à 18:05
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]
0
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004
19 oct. 2004 à 23:03
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 @++
0
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004
19 oct. 2004 à 23:06
Euhh désolé, mais j'ai juste oublié de te dire que j'avais utilisé ta deuxième méthode.

Merci et @++
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
20 oct. 2004 à 16:41
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]
0
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004
20 oct. 2004 à 18:21
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.

@++
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
20 oct. 2004 à 18:33
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]
0
BlastDrak Messages postés 10 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 11 décembre 2004
20 oct. 2004 à 23:40
Ok, c'est pas grave et merci qd même .

@++
0