maitreyoda84
Messages postés19Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention 1 octobre 2006
-
23 avril 2006 à 21:00
cs_Bonaparte
Messages postés68Date d'inscriptionvendredi 7 janvier 2005StatutMembreDernière intervention20 février 2009
-
26 avril 2006 à 15:40
Salut, je débute en flash et j'ai essayé de faire mon premier code mais visiblement j'ai encore beaucoup à apprendre ...
Je cherche a réaliser un swf où le curseur de la souris change en survolant une certaine zone. Dans cette zone il faut bien sur que le nouveau curseur puisse clicker sur des boutons présent dans cette zone...
Quand la souris quitte cette zone, elle redevient normal et l'objet ayant servi de nouveau curseur vient se replacer au centre de la zone.
N'étant que débutant, voila ce que j'ai fait. J'ai défini la zone en question par un BOUTON (un rectangle) sur lequel j'ai appliqué ce code :
on (rollOver) // lorsque l'on survole la zone
{
Mouse.hide(); // on commence par cacher le curseur de la souris
startDrag ("cercle",1);// puis on drag l'objet "cercle" pour l'utiliser en tant que nouveau curseur
}
on (rollOut) // lorsque l'on sort de la zone
{
stopDrag (); // on stop le drag de l'objet "cercle"
Mouse.show(); // on réaffiche le curseur de la souris
cercle._x=260;
cercle._y=274; // on replace l'objet "cercle" au centre de la zone
}
Tout ceci fonctionnait du tonnere jusqu'a ce que je place des boutons dans la zone, en effet quand le curseur (l'objet "cercle") survole le bouton dans la zone en question, il considere ca comme un rollOut et il agit comme si j'était sorti de la zone (réaparition de l'ancien curseur et le cercle qui retourne au centre de la zone).
J'aimerai donc pouvoir survoler ce bouton avec le nouveau curseur (le cercle)..
Cette erreur me parait hélas logique quand je relis mon code, mais étant encore débutant je ne voie pas comment réaliser la fonction que je désire sans utiliser les rollOver et le rollOut.
Merci de m'aider à voir où j'ai effectué une erreur, ou bien ce que j'aurais du faire pour que cela marche ... Merci d'avance pour vos réponses !
Faatalis
Messages postés74Date d'inscriptionjeudi 23 novembre 2000StatutMembreDernière intervention30 juillet 2010 24 avril 2006 à 09:16
une fois que t'as choisi l'emplacement de ta zone,
tu regardes ses coordonnées (ex : 88<x<230 et 44<y<150)
puis tu compares la position de la souris pour savoir si elle se trouve dans cette zone,
if(_xmouse>88...){
...
après si c'est pas un rectangle,
tout de suite, j'ai pas d'idée.
belahmew
Messages postés20Date d'inscriptionmardi 21 mars 2006StatutMembreDernière intervention 7 juillet 2006 24 avril 2006 à 15:36
Pour éviter que flash ne considère le bouton comme étant une zone externe à ta zone en question, je pense qu'il faut que ton bouton fasse partie de la zone en question:
supprime le et tu le recrées en double cliquant sur ta zone puis tu le mets dessus....c'est qu'une idée mais c'est pas sûr que ça marche.
maitreyoda84
Messages postés19Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention 1 octobre 2006 24 avril 2006 à 17:56
C'est bon j'ai trouvé !!!
il suffit d'ajouter l'action :
on (rollOver) // lorsque l'on survole la zone
{
Mouse.hide(); // on commence par cacher le curseur de la souris
startDrag ("cercle",1);// puis on drag l'objet "cercle" pour l'utiliser en tant que nouveau curseur
}
sur chaque bouton présent dans la zone !
Ce n'est pas une solution de serial developpeurs mais ca fera l'affaire pour le moment,
si certain d'entre vous voie neanmoins une autre facon de proceder ...