Dans la série des petites classes utiles, voici le contextMenu.
Vous pouvez y mettre tout ce que vous souhaitez.

Dans cet exemple, j’ai ajouté :
-un copyright
-un lien vers le site de l’auteur
-la gestion du fullscreen

Five3D exemple

package com.lc.common { //import des classes nécessaires import flash.net.*; import flash.ui.ContextMenu; import flash.ui.ContextMenuItem; import flash.ui.ContextMenuBuiltInItems; import flash.events.ContextMenuEvent; import flash.display.*; public class ContextMenuLc extends Sprite { //déclaration des variables private var myContextMenu:ContextMenu; private var menuLabel0:String = "LutinCapuche@2008"; private var menuLabel1:String = "Portfolio LutinCapuche"; private var menuLabel2:String = "Enter fullscreen mode"; private var menuLabel3:String = "Exit fullscreen mode"; private var _stage:Stage; //constructeur public function ContextMenuLc(cible:MovieClip,stageCurrent:Stage) { _stage = stageCurrent; myContextMenu = new ContextMenu(); removeDefaultItems(); addCustomMenuItems(); myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler); //j'attache le contexteMenu au clip passé en paramètre, dans l'exemple la racine cible.contextMenu = myContextMenu; } private function removeDefaultItems():void { //suppression des items par défaut myContextMenu.hideBuiltInItems(); } private function addCustomMenuItems():void { //ajout des items personnalisé et des évènements associés //le copyright var item0:ContextMenuItem = new ContextMenuItem(menuLabel0); myContextMenu.customItems.push(item0); //lien vers site de l'auteur var item1:ContextMenuItem = new ContextMenuItem(menuLabel1); item1.separatorBefore = true; myContextMenu.customItems.push(item1) item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, gotoMyPortfolio); //activation du fullscreen var item2:ContextMenuItem = new ContextMenuItem(menuLabel2); item2.separatorBefore = true; myContextMenu.customItems.push(item2); item2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onShowFullScreen); //desactivation du fullscreen var item3:ContextMenuItem = new ContextMenuItem(menuLabel3); item3.separatorBefore = true; myContextMenu.customItems.push(item3); item3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, onShowNormalScreen); myContextMenu.customItems[3].enabled = false } private function menuSelectHandler(event:ContextMenuEvent):void { if (_stage.displayState == StageDisplayState.NORMAL){ event.target.customItems[2].enabled = true; // show full screen button event.target.customItems[3].enabled = false; // hide normal screen button }else { event.target.customItems[2].enabled = false; // hide full screen button event.target.customItems[3].enabled = true; // shoe normal screen button } } function onShowFullScreen(event:ContextMenuEvent):void{ _stage.displayState = StageDisplayState.FULL_SCREEN; } function onShowNormalScreen(event:ContextMenuEvent):void{ _stage.displayState = StageDisplayState.NORMAL; } private function gotoMyPortfolio () { var mySite:URLRequest = new URLRequest("http://portfolio.lutincapuche.com"); navigateToURL(mySite); } } }

Pour l'appliquer sur la scène ou sur un MovieClip :

//importation de la classe import com.lc.common.ContextMenuLc; //creation du contexte menu sur this, avec stage en paramètre pour le fullscreeen var myContexteMenu:ContextMenuLc = new ContextMenuLc(this,stage);

Téléchargez la source ici