begin process at 2012 05 27 20:12:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

ActionScript

 > 

simplifier une fonction pour le lancement d'un menu au survol de la souris


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

simplifier une fonction pour le lancement d'un menu au survol de la souris

mardi 4 janvier 2005 à 11:31:11 | simplifier une fonction pour le lancement d'un menu au survol de la souris

jacknikolson

salut à tous,

je me suis crée une petite fonction pour le lancement d'un menu au survol de la souris au dessus d'un clip.
////////////////////////////////////////////////////////////////////////////////////////

_global.detection = function() {
 /*...........pour le bouton1..............*/
 if (_root.menu0.a1.hitTest(_root._xmouse, _root._ymouse, false)) {
  _root.menu0.play();
 } else {
  _root.menu0.gotoAndStop(1);
 }
 /*...........pour le bouton2..............*/
 if (_root.menu1.a1.hitTest(_root._xmouse, _root._ymouse, false)) {
  _root.menu1.play();
 } else {
  _root.menu1.gotoAndStop(1);
 }
  /*...........pour le bouton3..............*/
 if (_root.menu2.a1.hitTest(_root._xmouse, _root._ymouse, false)) {
  _root.menu2.play();
 } else {
  _root.menu2.gotoAndStop(1);
 }
};
///////////////////////////////////////////////////////////////////////////////
Il s'agit d'un clip que j'ai nommé au départ menu0 et qui contient un clip de détection (a1, avec un code:  onClipEvent(enterFrame){detection();} ).
 Je duplique ensuite mon menu0 sur la scène en le renomant menu1, menu2 etc..
Tout fonctionne très bien...

je voudrais miantenant simplifier si possible ma fonction de base pour ne pas avoir à rajouter un groupe d'instructions pour chaque clip dupliqué. Un truc qui fasse: 

 if (_root.leMenu"n".a1.hitTest(_root._xmouse, _root._ymouse, false)) {
  _root.leMenu"n".play();
 } else {
  _root.leMenu"n".gotoAndStop(1);
 }

et qui reconnaitrait le nom du menu en cours.....

quelqu'un pourrait-il me donner un coup de main car je suis bloqué.

Merci d'avance

Jack.

mardi 4 janvier 2005 à 12:50:06 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

John_Doe_88

Dans une boucle for par exemple :
_root["menu"+i].play();

Par contre pour memoriser le no du menu en cours il faut passer par une variable.
mardi 4 janvier 2005 à 14:28:30 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

jacknikolson

ok je vais essayer ça.
Thank's
mardi 4 janvier 2005 à 14:53:47 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

jacknikolson

ok ça marche


 n_Menu = 10;
_global.detection = function() {
 for (i=0; i<n_Menu; i++) {
  if (_root["menu"+i].a1.hitTest(_root._xmouse, _root._ymouse, false)) {
   _root["menu"+i].gotoAndStop(2);
  } else {
   _root["menu"+i].gotoAndStop(1);
  }
 }
};


je n'y arrivais pas car je n'étais pas passé par une variable pour le N du menu en cours.
Merci John_Doe

j'en profite pour poser une autre question concernant la syntaxe:

si je dis:
 _root.menu0.clipBouton.onRelease = function() {
 _root.m0.play();
 
}

ça ne parche que si le clipBouton se trouve sur la frame du code (si j'ai bien compris c'est parce quec'est une fonction locale...). Pour déclarer ça en global je m'y prends comment?

Merci d'avance
++
Jack
mardi 4 janvier 2005 à 15:30:25 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

John_Doe_88

Je suis pas sur d'avoir bien compris... Le but c de faire quoi ?
Parce que le plus logique c de mettre ton onRelease sur le bouton lui même.
mardi 4 janvier 2005 à 16:52:54 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

jacknikolson

le but au départ était de faire un bouton qui colle à la souris, mais dans une zone précise, délimitée par un clip.....puis je me suis dit, plutôt que de faire N  boutons et N clips de détection, autant esayer de tout fourrer dans un seul clip que je pourrais dupliquer à volonté sur la scène.
au départ, mon clip bouton était fait sur 2 frames, une où il est inerte et l'autre où il colle à la souris  d'où le    _root["menu"+i].gotoAndStop(2);
                                   } else {
                                    _root["menu"+i].gotoAndStop(1);

mais depuis tout à l'heure j'ai avancé et j'ai fait mon bouton sur une seule image et déclaré mon code pour que le bouton colle dans ma fonction de début.
__________________________________________________________

n_Menu = 10;
_global.detection = function() {
 for (i=0; i<n_Menu; i++) {
  if (_root["menu"+i].a1.hitTest(_root._xmouse, _root._ymouse, false)) {
   _root["menu"+i].clipBouton._x += _root["menu"+i].clipBouton._xmouse/10;
   _root["menu"+i].clipBouton._y += _root["menu"+i].clipBouton._ymouse/10;
  } else {
   pos_x = _root["menu"+i].clipBouton._x=0;
   pos_y = _root["menu"+i].clipBouton._y=0;
   _root["menu"+i].clipBouton._x += _root["menu"+i].clipBouton._x+(pos_x-_x)/10;
   _root["menu"+i].clipBouton._y += _root["menu"+i].clipBouton._y+(pos_y-_y)/10;
  }
 }
};

___________________________________________________________________

là ça marche comme je veux.
maintenant je voudrais rajouter un truc du genre:

 _root["menu"+i].clipBouton.onRelease = function() {
 _root["m"+i].play();
 }

où les  ["m"+i]. seraient des clips commandés par mes boutons....

mais j'y arrive pas.

je ne sais pas si j'ai été assez clair....d'autant que je suis loin d'être pro en prog....je fais ça justement comme exercice pour mettre en pratique certaines notions.
je suis sur d'être près de la soluce mais là, j'ai la tête comme une citrouille....
si tu peux m'aider....

mardi 4 janvier 2005 à 16:57:44 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

jacknikolson

au fait, désolé si je suis long à répondre mais j'ai pas recu le mail pour avertir que tu avais posté une réponse. j'ai pourtant cliqué sur Alors cliquez ici pour être averti......mais à priori ça a pas marché.

mercredi 5 janvier 2005 à 14:48:00 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

John_Doe_88

Dsolé pour le retard aussi, mais...
Tu te casses la tête pour rien : pour ton bouton il ne faut pas faire un clip mais justement un bouton...

Sinon juste une question j'ai pas l'habitude de cette écriture :
pos_x = _root["menu"+i].clipBouton._x=0;
Ca fait quoi ca met tout à 0 ?

mercredi 5 janvier 2005 à 18:14:21 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

jacknikolson

une question bête:  c'est possible de poster mon Fla dirrectement, ce serait plus simple et plus parlant....

mercredi 5 janvier 2005 à 18:28:04 | Re : simplifier une fonction pour le lancement d'un menu au survol de la souris

jacknikolson

oui pasque chez wanadoo ils sont en travaux et pas possible de me connecter.

sinon, pos_x = _root["menu"+i].clipBouton._x=0;  c'est pour que mon bouton retourne à sa position initiale quand ma souris sort de la zone délimitée par le clip (la zone ou le bouton colle à la souris)

1 2 3

Cette discussion est classée dans : fonction, menu, root, a1, menu0


Répondre à ce message

Sujets en rapport avec ce message

faire un lien [ par patoch ] j'ai un petit problème, je n'arrive pas a faire un lien,je suis débutant voila une partie du code de mon menu:action pour la frame1:menu1Links=3;set(" XMLSocket [ par syndrael ] Bonjour,Je lance cette fonction et j'obtiens un résultat _root.Results toujours égal à true, meme si je mets une adresse IP incorrecte ou une chaine d Lien dans menu déroulant [ par vlaamse ] Bonjour à tous, j'ai crée un menu déroulant avec entre autre ce code, maintenant, j'aimerai que lorsque je clic sur un lien du menu cela me renvoi à u _root.menu.Gotoandplay("eztiquette") [ par supermeganono ] Bonjour !J'ai pourtant deja utiliser ceci mais ici ca ne marche pas !www.world-station.net/essai/World-Station.flaDonc j'ai une scene avec un clip a g Changer clip en fonction de la date [ par caroel ] Bonjour tout le monde !Je débute avec actionscript et il y a un truc que je pige pas...Je voudrais mettre un clip différent (de la bibliothèque) sur l Existe t-il une fonction qui arreterais des clips imbriqués les uns dans les autres? merci. [ par casiopee ] Bonjour,J'ai essayé de trouver la réponse à mon probleme dans les forums, mais en vain :(Voilà, j'aimerais savoir s'il existe une fonction qui me perm print ? [ par carolecha ] Bonjour !Je voudrais utiliser la fonction print() pour imprimer l'image finale de mon movie et/ou un clip de cette image. J'ai alors crée deux boutons La fonction set interval [ par Lucyberad ] bonjour a tous j'aimerais que ous m'aidier sur un point:j'ai ceci comme code sur un bouton. on (release) { _root.link = 1; _ro un problème de resize d'un Clip par _height et _width [ par sensiprod ] Bonjour, J'ai fait un site dont le menu est un clip qui prend toute la pge au démarrage, puis une fois qu'un sous-menu est sélectionné il se redimensi menu style mac [ par robertours ] Salut, je tente actuellement d'uitiliser un menu au design mac.Pour les icones de gauche, tout se passe a peu près bien, mais si on approche du menu p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales