[url]http://bbs.9ria.com/viewthread.php?tid=78302&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000[/url]
文档类&或者其他实用类也行
补充说明
call_QuickMenu(get_stage,caption_arr,fun_arr)
这个调用接口需要三个参数,分别是舞台指针也就是this,还有就是要显示菜单的文字数组和执行函数数组
更新一次
增加了性功能,可以支持到切割菜单了。
具体方法是
explode_arr,这个参数。
一个数组,添加你要分割菜单的位置就可以了
/**
鼠标右键类 v1.3
@author 大陆仔仔
@http://daluzai.net
@date 2011-04-07
*/
package daluzai{
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.events.ContextMenuEvent;
public class QuickMenu {
//创建菜单对象
var quick_obj:ContextMenu=new ContextMenu();
//舞台指针
var get_stage_:Object;
/***
提供外部接口
*/
public function call_QuickMenu(get_stage,caption_arr,fun_arr,explode_arr) {
//全局变量赋值
get_stage_=get_stage;
//隐藏FLASH常用的右键
remove_quick();
//创建新右键内容
new_quick(caption_arr,fun_arr,explode_arr);
//完成外部菜单
get_stage_.contextMenu =quick_obj;
}
/**
隐藏FLASH常用的右键
*/
function remove_quick() {
quick_obj.hideBuiltInItems();
}
/**
创建新右键内容
caption_arr 文字菜单数组
fun_arr 菜单函数数组
explode_arr 切割菜单
*/
function new_quick(caption_arr,fun_arr,explode_arr) {
//创建一个空数组
var add_arr:Array=[];
//是否切割菜单
var is_explode:Boolean;
//数组长度
var caption_arr_length:Number=caption_arr.length;
//循环遍历菜单内容,操作函数
for (var i:Number=0; i<caption_arr_length; i++) {
//切割菜单
for (var j:Number=0; j<explode_arr.length; j++) {
if (explode_arr[j]==i) {
is_explode=true;
break
} else {
is_explode=false;
}
}
//创建遍历菜单字幕
var quickItem_obj:ContextMenuItem=new ContextMenuItem(caption_arr[i],is_explode);
//创建遍历监听
quickItem_obj.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,fun_arr[i]);
//添加到新菜单
quick_obj.customItems.push(quickItem_obj);
}
}
}
}
文档类&或者其他实用类也行
package {
import flash.display.Sprite;
import daluzai.QuickMenu;
public class Ga extends Sprite {
var quickuickMenu=new QuickMenu();
var get_stage:Object=this;
public function Ga() {
var caption_arr:Array=new Array('嘎','嘎2');
var fun_arr:Array=new Array(duck,da);
quick.call_QuickMenu(get_stage,caption_arr,fun_arr);
}
function duck(ent) {
trace('嘎');
}
function da(ent) {
trace('嘎嘎');
}
}
}
补充说明
call_QuickMenu(get_stage,caption_arr,fun_arr)
这个调用接口需要三个参数,分别是舞台指针也就是this,还有就是要显示菜单的文字数组和执行函数数组
更新一次
增加了性功能,可以支持到切割菜单了。
具体方法是
explode_arr,这个参数。
一个数组,添加你要分割菜单的位置就可以了