jacknikolson
Messages postés
134
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
18 novembre 2012
9 janv. 2005 à 12:24
Toutefois il y a le tuto de TOM que je mermets de mettre à la suite.....
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Voici une méthode assez simple, pour construire son propre menu:
// je declare la hauteur et largeur de la scene uniquement
// pour mon clip "credits", car Stage.width ne marcherait pas si l'anim est redimensionnée
Stage.scaleMode = "noScale";
largeurscene = 300;
hauteurscene = 300;
// Déclaration de mon menu customisé:
// -------------------------------------------------------------------------------
// Comment ca marche?
//
// Bon, alors ici, on déclare deux menu contextuels: un pour le fond, un pour les clips (tous les clips, quelqu'ils soient).
// A savoir: une fonction associée à un objet du menu recoit automatiquement deux variables:
// - menuitem, qui correspond à l'objet menuitem (voir exemple pour comprendre)
// - obj, qui désigne l'objet auquel est associé le menu contextuel, pratique dans le cas des clips
// -------------------------------------------------------------------------------
// -------------------------------------------------------------------------------
// Le menu du fond:
// -------------------------------------------------------------------------------
var mon_menu = new ContextMenu ();
// on vire tous les autres item de base:
mon_menu.builtInItems.zoom=false;
mon_menu.builtInItems.quality=false;
mon_menu.builtInItems.play=false;
mon_menu.builtInItems.loop=false;
mon_menu.builtInItems.forward_back=false;
mon_menu.builtInItems.print=false;
// On rajoute des items supplémentaires,
// avec un separateur (un barre) pour exemple:
mon_info = new ContextMenuItem(">> Titre de mon animation <<", fonction_du_menu);
mon_courriel = new ContextMenuItem("Me contacter", fonction_du_menu);
mon_courriel.separatorBefore = true;
mon_credit = new ContextMenuItem("Crédits", fonction_du_menu);
mon_menu.customItems.push(mon_info,mon_courriel,mon_credit);
// La fonction associée à tous les items de mon nouveau menu:
// Comme vous pourrez le voir, il n'y a rien pour le titre, qui est juste la pour faire joli,
// mais si on ne lui associe pas de fonction, il n'apparait pas... (ne me demandez pas pourquoi)
// obj doit etre present pour que la fonction marche...
function fonction_du_menu(obj,menuItem) {
if(menuItem.caption == "Me contacter"){
getURL("[mailto:tom@codes-sources.com mailto:tom@codes-sources.com]");
} else if(menuItem.caption == "Crédits"){
coord = new Object();
// pour info, 139 et 149 correspondent à la largeur et la hauteur du clip "credits"
coord._x = (largeurscene-139)/2;
coord._y = (largeurscene-149)/2;
_root.attachMovie("credits","credits",1,coord);
}
}
// Pour valider ce nouveau menu:
_root.menu = mon_menu;
// -------------------------------------------------------------------
// Maintenant, on va compliquer un peu la donne
// en rajoutant un menu différent pour les clips de la scene
// Donc meme methode que precedemment, sauf qu'il peut y avoir beaucoup de clips
// Et comme l'info que l'on veut avoir peut etre différente suivant le clip,
// on va exploiter la seconde variable donnée d'office avec les fonction associée:
// la variable obj...
// -------------------------------------------------------------------
var deuxieme_menu = new ContextMenu();
deuxieme_menu.builtInItems.zoom=false;
deuxieme_menu.builtInItems.quality=false;
deuxieme_menu.builtInItems.play=false;
deuxieme_menu.builtInItems.loop=false;
deuxieme_menu.builtInItems.forward_back=false;
deuxieme_menu.builtInItems.print=false;
affich_info = new ContextMenuItem("Obtenir des infos sur ce clip", affichercoords);
deuxieme_menu.customItems.push(affich_info);
// -------------------------------------------------------------------
// Le but est d'obtenir les variables _name, _x, et _y de n'importe
// quel clip de la scene, et la je souligne l'utilitéé de obj:
function affichercoords(obj){
_root.letexte = "clip "" + obj._name + "" : _x=" + obj._x + ", _y=" + obj._y;
}
// Comment faire pour ensuite associer ce nouveau menu
// à tous les clips de la scene?
// C'est simple, on va choper tous les elements de la scene principal,
// et si c'est un clip, on lui associe le menu:
for(i in _root){
if(typeof(_root[i]) == "movieclip"){
_root[i].menu = deuxieme_menu;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
voilà si ça peut te dervi.......
Et merci Tom
Jack