ContextMenu
いわゆる右クリックメニュー
右クリックと中クリックは環境依存
これらを使わないデザインにするのが無難
…でも右クリックした時に何も起こらないのは寂しい
ちょっとした遊びゴコロが欲しい
補助メニュー
資料へのリンク
操作のヒント
コナミコマンド
にゃあとか音が出る
//BUG ? ContextMenuItem( caption ) captionが特定の文字だと表示されないことがある。
// 0,1,2,3,4,A,B,C,D,a,b,c,d
ContextMenu
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/ui/ContextMenu.html
ContextMenuItem
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/ui/ContextMenuItem.html
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/ui/ContextMenuItem.html
package {
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
// write as3 code here..
var test:ContextMenuExample = new ContextMenuExample();
this.contextMenu = test.contextMenu;
}
}
}
import flash.events.ContextMenuEvent;
import flash.net.URLRequest;
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.ui.ContextMenuBuiltInItems;
import flash.ui.ContextMenuClipboardItems;
class ContextMenuExample{
public function ContextMenuExample(){
//contextMenu.builtInItems = builtInItems;
//contextMenu.clipboardItems = clipboardItems;
contextMenu.clipboardMenu = false;
contextMenu.customItems = null;
contextMenu.link = null; //URLRequest
contextMenu.hideBuiltInItems();
contextMenu.addEventListener( ContextMenuEvent.MENU_SELECT, onMenuSelect );
var builtInItems:ContextMenuBuiltInItems = new ContextMenuBuiltInItems();
builtInItems.forwardAndBack = false;
builtInItems.loop = false;
builtInItems.play = false;
builtInItems.print = false;
builtInItems.quality = false;
builtInItems.rewind = false;
builtInItems.save = false;
builtInItems.zoom = false;
contextMenu.builtInItems = builtInItems;
contextMenu.builtInItems.forwardAndBack = false;
contextMenu.builtInItems.loop = false;
contextMenu.builtInItems.play = false;
contextMenu.builtInItems.print = false;
contextMenu.builtInItems.quality = false;
contextMenu.builtInItems.rewind = false;
contextMenu.builtInItems.save = false;
contextMenu.builtInItems.zoom = false;
var clipboardItems:ContextMenuClipboardItems = new ContextMenuClipboardItems();
clipboardItems.clear = false;
clipboardItems.copy = false;
clipboardItems.cut = false;
clipboardItems.paste = false;
clipboardItems.selectAll = false;
contextMenu.clipboardItems = clipboardItems;
contextMenu.clipboardItems.clear = false;
contextMenu.clipboardItems.copy = false;
contextMenu.clipboardItems.cut = false;
contextMenu.clipboardItems.paste = false;
contextMenu.clipboardItems.selectAll = false;
//enable
var items:Array = [];
items[0] = new ContextMenuItem( "" );
items[0].caption = " |\__/|";
items[0].separatorBefore = false;
items[0].visible = true;
contextMenu.customItems = items;
//BUG ------------------------------------------------------------------
//disable
//dont use 0 1 2 3 4 A B C D a b c d
var item:ContextMenuItem = new ContextMenuItem("B"); //Incorrect number of arguments. Expected 1.
item.separatorBefore = false;
item.visible = true;
contextMenu.customItems[1] = item;
//BUG ------------------------------------------------------------------
//enable
var customItem:ContextMenuItem = new ContextMenuItem( "/( ◕‿‿◕ )\" );
contextMenu.customItems[2] = customItem;
//enable
contextMenu.customItems[3] = new ContextMenuItem( "僕と契約して魔法少女になってよ", false, true, true );
contextMenu.customItems[4] = new ContextMenuItem( " わけがわからないよ", false, true, true );
contextMenu.customItems[5] = new ContextMenuItem( " こんなの絶対おかしいよ", false, true, true );
contextMenu.customItems[5].addEventListener( ContextMenuEvent.MENU_ITEM_SELECT, onItemSelect );
}
public var contextMenu:ContextMenu = new ContextMenu();
private function onMenuSelect( event:ContextMenuEvent = null ):void{
//addEventListener( ContextMenuEvent.MENU_SELECT, onItemSelect );
//removeEventListener( ContextMenuEvent.MENU_SELECT, onItemSelect );
}
private function onItemSelect( event:ContextMenuEvent = null ):void{
//addEventListener( ContextMenuEvent.MENU_ITEM_SELECT, onItemSelect );
//removeEventListener( ContextMenuEvent.MENU_ITEM_SELECT, onItemSelect );
}
}