纳速健身

标题: 修改删除flash鼠标右键菜单方法一览 [打印本页]

作者: awagink    时间: 2008-4-21 12:45
标题: 修改删除flash鼠标右键菜单方法一览
修改删除flash鼠标右键菜单方法一览

经常看到Flash的右键菜单中只显示了很少的几个菜单项,那么这个是怎么做到的呢!?其实实现这个效果并不难,只要用几句AS就能搞定了!
第一种写法:
  1. var my_cm:ContextMenu = new ContextMenu();//新建一个菜单对象 --电脑教程技术学习网http://www.loveqiuitan.cn
  2. my_cm.hideBuiltInItems();//新建一个菜单对象的内容隐藏
  3. my_cm.builtInItems.print = true;//如果你想要某个或某几个出现,可以这样设置,这里设置的仅显示"打印"
  4. this.menu = my_cm;//将菜单附加到对象 --电脑教程技术学习网http://www.loveqiuitan.cn
复制代码


第二种写法:

  1. var my_cm:ContextMenu = new ContextMenu();//新建一个菜单对象
  2. my_cm.builtInItems.print = false;//要删除的菜单项设置为false
  3. my_cm.builtInItems.quality=false;
  4. my_cm.builtInItems.zoom=false;
  5. my_cm.builtInItems.forward_back=false;
  6. this.menu = my_cm;//将菜单附加到对象
复制代码



下面是可控制的菜单项目
zoom:缩放
quality:显示质量
play:播放
loop:循环
rewind:后退
forward_back:快进/返回
print:打印
作者: awagink    时间: 2008-4-21 12:46
标题: 彻底屏蔽Flash鼠标右键菜单完美解决方案!!
------第一步 flash文件里写下面代码 ------
//方法1、
添加一个MC,空的,透明的都可以,随便放什么地方,名称为 "hidden" 。要与JS调用的名称相同

//方法2、
在主时间轴第一祯输入:_root.createEmptyMovieClip("hidden",1) 。注意名称与JS调用的名称相同



------第二步 html文件里写下面JS代码 ------
<script language="JavaScript">
function removeMenu()
{
    if(window.event.button ==
2
){
       window.location.replace('javascript :void(0)');   //这一句可以不要,去掉也不会出错
       TCallFrame("hidden",1);
    }
}
</script>

.... ....

------第三步 调用JS代码 ------
<object onMouseDown="removeMenu()">
... flash文件 ...
<param name="wmode" value="Opaque" />   
</object>



-----------另一种方法-------
第一祯写下:
_root.createTextField("Monkey",999,0,0,Stage.width,Stage.height);
========================================================================

改进版,收藏一下:
--------------------------------------------
彻底屏蔽FLASH右键菜单,并建立自己的右键菜单!
---------------------------------------------

很多人都想知道屏蔽FLASH右键的菜单,今天特意把这个写上,这是以前在网上下载的文件。

1. 需要在HTM内加入以下内容。
----------------------------------------
<script language="Javascript">

function removeMenu(e){
(!e)?e=window.event:"";
if(e.button == 2){
window.location.replace("javascript:void(0)");
myMovie.TCallFrame("hidden",1);
}
}
function getObj(name){
if(document.getElementById){
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}else if(document.all){
this.obj = document.all[name];
this.style = document.all[name].style;
}else if(document.layers){
this.obj = document.layers[name];
this.style = document.layers[name];
}
}
window.onload = function(){
var x = new getObj("myMovie");
x.obj.onmousedown = removeMenu;
}
</script>

其中“myMovie”对应的是SWF的ID。


[Copy to clipboard]CODE:
<OBJECT classid="clsid27CDB6E-AE6D-11cf-96B8-444553540000" name="myMovie" id="myMovie">......</OBJECT>

2. 在FLASH文件中建立一个空的MC,放在场景中,并命名为“hidden”,这个名字必须对应HTM中的“hidden”。

3. 在FLASH中建立一个自己的右键菜单MC,并在第一帧为AS导出做一个链接,取名为“menu”。

4. 然后在FLASH文件中第一帧加入以下代码,
--------------------------------------------
test = function () {
if (Key.isDown(2)) {
tt.removeMovieClip();
createEmptyMovieClip("tt", 0);
tt.attachMovie("menu", "menu", 0);
if (_xmouse>Stage.width-100) {
tt._x = _xmouse-100;
} else if (_ymouse>Stage.height-150) {
tt._y = _ymouse-150;
} else {
tt._x = _xmouse;
tt._y = _ymouse;
}
}
if (Key.isDown(1)) {
tt.removeMovieClip();
}
};
setInterval(test, 1);

OK,做好以后,在IE中测试,FLASH右键是否没有了,
作者: awagink    时间: 2008-4-21 12:49
标题: 个性化FLASH鼠标右键内容
个性化FLASH鼠标右键内容

大家也许看过很多好的Flash作品中,作者将一成不变的鼠标右键菜单内容改为富有自己个性的菜单项。
那么他是怎么作到的呢,毫无疑问,全是AS的功劳。

打开Flash,进入动作面板。

先写三个函数,也就是单击完右键菜单后所要调用的内容。
第一个函数是打开一个Windows组件的窗口,里面是一些有关和我联系的信息。当然你也可以把函数写成打开一个影片剪辑或是动画什么的,只要是能突出你的个性就可以了
输入以下代码:


function zkrmenuf() {
import mx.managers.PopUpManager;
import mx.containers.Window;
var myTW = PopUpManager.createPopUp(_root, Window, true, {closeButton:true, contentPath:"zkr", title:"z.k.r"});
myTW.setSize(320, 300);
myTW._x = 160;
myTW._y = 50;
windowListener = new Object();
windowListener.click = function(evt) {
myTW.deletePopUp();
};
myTW.addEventListener("click", windowListener);
}

//紧接着的两个函数没什么可说的,就是纯粹的打开两个网页链接, _blank参数的意思是打开一个新窗口,而不是在原有的窗口里继续打开链接。
function zkrmenuf1(){
getURL("http://www.dsghjlb.com/index.htm","_blank")
}
function zkrmenuf2(){
getURL("http://www.dsghjlb.com/dsgh/bbs/index.cfm","_blank")
}
//建立一个ContextMenu 类,以便添加自定义菜单项
var zkrmenu1 = new ContextMenu();
//隐藏Flash默认的菜单项
zkrmenu1.hideBuiltInItems();
//建立自定义菜单项
zkrmenu1.customItems.push(new ContextMenuItem("z.k.r:和我联系", zkrmenuf, true));
zkrmenu1.customItems.push(new ContextMenuItem("z.k.r:主页", zkrmenuf1, true))
zkrmenu1.customItems.push(new ContextMenuItem("z.k.r:论坛", zkrmenuf2, true))
//指定影片的鼠标右键菜单项为新设定的zkrmenu1中的内容
_root.menu = zkrmenu1;




发布影片,点击鼠标,自定义菜单项出现了,至于设置...和关于 Macromedia Flash Player 7...这最后两项,是不能被替换掉的。

收工,一个充满个性的鼠标右键菜单项诞生了,接下来的事就是展开你想象的头脑,去扩充它吧。




欢迎光临 纳速健身 (https://nasue.com/) Powered by Discuz! X3.4