2009-09-03 12 views
1

フラッシュ用のActionScriptのコンテキストメニュー(右クリックメニュー)が開かれたときに送出されるイベントがあります:Actionscript 3 ContextMenu closedイベントですか?

ContextMenuEvent.MENU_SELECT 

は、メニューが閉じられたときに送出されるイベントはありますか?

答えて

2

良い質問です。 これは素晴らしい機能要求、ContextMenuEvent.MENU_CLOSEDイベントを行います:)

私は半分あなたが答えていると思います。クリップがカチッという音を得ることができます怒鳴るので、基本的に私はすべての上に座ってスプライトを作成

var myContextMenu:ContextMenu = new ContextMenu(); 
var menuLabel:String = "Custom Item"; 
var rightClicking:Boolean; 

addCustomMenuItems(); 
myContextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, menuSelectHandler); 
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseUpHandler); 
    var redRectangle = makeRedRectangle(); 
    redRectangle.contextMenu = myContextMenu; 


function makeRedRectangle():Sprite{ 
    redRectangle = new Sprite(); 
    redRectangle.graphics.beginFill(0x990000,.2); 
    redRectangle.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); 
    redRectangle.mouseChildren = false; 
    addChild(redRectangle); 
    return redRectangle; 
} 

function addCustomMenuItems():void { 
    myContextMenu.hideBuiltInItems(); 
    var item:ContextMenuItem = new ContextMenuItem(menuLabel); 
    myContextMenu.customItems.push(item); 
    item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler); 
} 

function menuSelectHandler(event:ContextMenuEvent):void { 
    trace("menuSelectHandler: " + event); 
    rightClicking = true; 
} 

function menuItemSelectHandler(event:ContextMenuEvent):void { 
    trace("menuItemSelectHandler: " + event); 
} 

function mouseUpHandler(event:MouseEvent):void{ 
    if(rightClicking){ 
     trace('ContextMenu Closed\nThank You! Come Again!'); 
     rightClicking = false; 
    } 
} 

が、mouseChildrenはfalseに設定されている。ここに私の考えです。あなたはこれを透明にしたいかもしれません。私はこれを使用したので、右クリックするとイベントが発生します。それが起こると、私はrightClickingをtrueに設定しました。つまり、右クリックが押されたことを意味します。私は何か他のことが起こるのを待っています。 2つのオプションがあります。

  1. ユーザーはメニューから項目を選択します。
  2. ユーザーがメニューを閉じるためにクリックします。オプション1の場合

ユーザーがカスタム項目のいずれかを選択した場合、それはクールだ、あなたがいない場合は、少なくともあなたは何が起こるか知っている、ことを扱うことができます。 オプション2の場合は、MOUSE_DOWNイベントのリスナーを設定しています。したがって、rightClickingがオンになっていてマウスがダウンしている場合は、メニューが閉じます。

希望すると便利です。

私は知っている、それはハックな古い学校as2のように見え、コードはドキュメントの例から変更されていますが、それは考えです:)

関連する問題