按钮、声音相关、鼠标相关

    技术2022-05-20  46

    按钮1、FLASH无手指按钮的制作只需要在第一帧加上:buttonname.useHandCursor=0buttonname是你按钮的实例名(不是库里面的名字,属性面板里面的实例名)

    2、如何实现双击效果?      把下面的代码放到按钮上:      on (press) {      time = getTimer()-down_time;      if (time<300) {      trace("ok");      }      down_time = getTimer();      }      这样的话,如果都用比较麻烦,写了一个类来判断      MovieClip.prototype.doubleClick = function() {      this.timer2 = getTimer()/1000;      if ((this.timer2-this.timer)<0.25) {      return true;      } else {      this.timer = getTimer()/1000;      return false;      }      };      继承了 mc 的类,可以重复使用,当然也可以封装为 2 。 0 的类

         

    声音相关

    一、之前为 MYSOUND 链接一个属性      1 : mysound=new Sound();// (注释) mysound 是一个变量名, new Sound 是一个构造函数,表示       mysound 是一个 Sound 对象。      以后可以通过 mysound 来调用 Sound 方法 }*HK[      2: mysound.attachSound("name"); 这里的 NAME 就是你之前在标识符里写的东西了,对应好了就 OK !      3: mysound.setVolume(50); 这个是控制声音播放时的声音大小,取值在 0 到 100 ,意义大家都知道吧,不会有人认为 0       是最大声吧 ~      4:mysound.start(0.01); 这个语句是表示开始播放声音,()里的参数表示声音开始的位置,单位为秒,再来就是循环几次 ~ 比如       mysound.start(30 , 2);// 声音从 30 秒处开始循环 2 次。      5:mySound.stop("name");关闭指定音乐      6:外部调用音乐      mySound=new Sound();      mySound.loadSound("music.mp3",true);      mySound.start(0,100)二、如何创建声音控件1、新建一个flash文档,按Ctrl+R(文件/导入)导入一个声音文件,声音文件可以是MP3或WAV格式的。声音文件导入之后,在舞台上是看不见的,必须打开库才能看到我们导入的声音。2、选中库中的声音文件,单击鼠标右键,在弹出的菜单中选择“链接...”将会弹出一个链接的对话框,请勾选“为动作脚本导出”和“在第一桢导出”选项,并输入一个标识符:mysound (名字可任意写),单击确定。3、回到主舞台,选中时间轴的第一桢,按F9打开动作面板。现在我们要创建一个新的声音对象,并且连接到库里的声音。用来控制声音。输入以下脚本:music = new sound();//创建一个名字叫music的声音对象。music.attachSound("mysound");//将这个声音对象与库里的标识符为“mysound”的声音连接。4、现在需要在舞台上放置两个按钮分别控制声音的播放与停止。选择“窗口”--“公用库”--“按钮”,打开flash为我们设置的公用按钮元件库,再将Circle Buttons中的Play按钮和Stop按钮拖放到舞台上。5、此时,舞台上将有播放和停止两个按钮,选中Play按钮,打开动作面板,输入以下脚本:on (release) {music.start();}//播放声音

    选中Stop按钮,输入以下脚本:on (release) {music.stop();}//停止播放声音6、OK,一个简单的控制声音播放与停止的例子就完成了,快按Ctrl+回车来测试吧。:)

    三、停止全部声音:stopAllSounds();

    四、attachSound的部分常用语句aa=new Sound();//创建一个新音乐aa.attachSound("jgw");//将库中标识符为jgw的音乐导出播放(标识符在库中链接菜单中命名)aa.start(0,10000);//音乐播放秒偏移量为0,播放10000次aa.stop();//停止播放aa这个声音

    五、一个按钮控制声音的播放与停止: on(release){a=a+1;if(a%2==1){//奇偶判断;mysound.stop();_root.b=int(ji.position/1000);//记录下停止时播放的位置;}else{ mysound.start(_root.b);//从上一次停止的位置开始继续播放;}}

    六、声音的加载和控制

    插入一段音乐:在Pile/Import to Library中,找到要插入的音乐(如战马奔腾),打开符

    号库,找到“战马奔腾”符号,单击右键,在弹出的菜单中单击Linkage…命令,再在弹出

    的菜单中选中Export for ActionSc选项,在Indentify框内输入标识符:如music。

    在需要播放的帧插入如下脚本:

    soun=new Sound();//创建声音实例

    sound.attachSound("music");//将音乐music链接到sound实例

    sound.start(0,2);//播放音乐2遍

    sound.setVolume(70):该音乐的音量为70%。

    以上加载音乐通过帧加载,也可以通过按钮加载。

    停止音乐的方法:制作一个按钮,在按钮上输人脚本:

    on(release)

    {

    sound.stop();

    }

    七、声音的控制代码:myMusic = new Sound();//建立一个名为 myMusic的声音对象 myMusic.attachSound("m1"); //将链接标识符为 mySound的音乐捆绑到 myMusic对象上 on (release) { myMusic.start(myMusic.position/1000); //从当前位置开始播放 play(); }on (release){myMusic.stop(); } on (release) { myMusic.start(0); play();}   

    鼠标

    1、鼠标右键菜单:右键菜单 = new ContextMenu();右键菜单.hideBuiltInItems();右键菜单.customItems.push(new ContextMenuItem('作者空间——枫叶飘零', dj_menu0, false));右键菜单.customItems.push(new ContextMenuItem('QQ:527409314', dj_menu1, false));右键菜单.customItems.push(new ContextMenuItem('E-mail:fengyepiaoling1314@163.com', dj_menu2, false));右键菜单.customItems.push(new ContextMenuItem('QQ   聊天', dj_menu3, false));function dj_menu0() {getURL('http://user.qzone.qq.com/527409314','_blank');}function dj_menu1() {getURL('http://user.qzone.qq.com/527409314','_blank');}function dj_menu2() {getURL('http://mail.163.com','_blank');}function dj_menu3() {getURL('http://wpa.qq.com/msgrd?V=1&Uin=527409314','_blank');}_root.menu = 右键菜单;

    2、鼠标跟随效果:方法一、建一影片剪辑,实例名:cursor_mc影片剪辑-动作:Mouse.hide();cursor_mc.onMouseMove = function() {this._x = _xmouse;this._y = _ymouse;updateAfterEvent();};方法二、建一影片剪辑,实例名:cc.帧-动作:startDrag(cc,true);.

    方法三、多数情况下,需要用到鼠标光标在主场景中的位置,所以可以使用_root._xmouse和_root._ymouse表示。onClipEvent (enterFrame) {_x = _root._xmouse;_y = _root._ymouse;}//让影片剪辑和鼠标保持相同坐标

     

    3、鼠标隐藏:_root.m._x=_root._xmouse ;_root.m._y=_root._ymouse ;Mouse.hide ();鼠标还原Mouse.show();

    4、替换鼠标按钮的代码

    on (press) {Mouse.hide(); //鼠标隐藏startDrag ("cursor", true); //开始拖拽cursor对象,注意在选择startDrag操作时候选中lock mouse to center,锁定对象在鼠标中心,很方便吧!:)}

    5、 还原鼠标按钮的代码on (press) {Mouse.show(); //鼠标还原stopDrag (); //停止拖拽setProperty ("cursor", _x, "355"); //将cursor对象放回原出(此前定义 cursor对象x坐标为355,当然这只是我做的时候随意给的。你也可以让cursor是在场景显示范围之外,或者将其Alpha设成0以及别的什么方法来使cursor这个鼠标替换对象不事先出现,教程为了更形象,所以没有这么做。^_^)setProperty ("cursor", _y, "100"); //同上,定义y坐标}


    最新回复(0)