快速业务通道

Flash MV实用技巧之音乐时间篇

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10
形”工具在主场景中拉出一个动态文本,即图18左侧的虚线部分。
图19 ?   2.再制作一个动态文本“text2”,即图18右侧的虚线部分。方法同上。

  3.在两个动态文本之间再设计一个静态文本,并输入一个冒号。

  4.在库中把“主元件”和“按钮”这两个影片剪辑元件拖拽到如图18所示的相应位置即可。并给“主元件”起个实例名称“mc”。这很重要,是为了使“按钮”元件能够控制它。

  设计代码。

  这部分是本文的重点,也是精华,希望大家花点心思研究一下。

  1.右键单击主场景的第1帧,在弹出菜单中选择“动作”命令,然后在打开的“动作”面板中键入如下代码。这段代码主要是创建一个声音对象和两个全局函数。

// 创建新的Sound对象
mysound = new Sound();
// 把在库中建立链接的声音附加到mySound对象中
mysound.attachSound("music");
// 隐藏动态文本“text1”,使得声音没有播放时“光谱分析器”的条件不满足而不能工作
_root.text1._visible = 0;
// 使用_global对象来创建全局函数stsrt_fun
// stsrt_fun函数的作用是播放声音、显示时间
_global.start_fun = function() {
// 播放声音
?mysound.start();
// 初始化两个动态文本的内容为“00”
??? _root.text1.text = _root.text2.text = "00";
// 定义fun函数,用来显示时间
??? function fun() {
// Math对象的floor方法返回小于等于指定参数的整数
// Sound对象中的position属性返回声音已播放的毫秒数
// 变量x纪录了声音已经播放的时间
??????? x = Math.floor(mysound.position/1000);
// 根据分秒的关系,显示文本的内容
// TextField对象的text属性可以设定文本内容
??????? if (x<10) {
??????????? _root.text1.text = "00";
??????????? _root.text2.text = "0" + x;
??????? } else if (x>=10 && x<60) {
??????????? _root.text1.text = "00";
??????????? _root.text2.text = x;
??????? } else if (x<600) {
??????????? if (x%60<10) {
??????????????? _root.text1.text = "0" + Math.floor(x/60);
??????????????? _root.text2.text = "0" + x%60;
??????????? } else if (x%60>=10) {
??????????????? _root.text1.text = "0" + Math.floor(x/60);
??????????????? _root.text2.text = x%60;
??????????? }
??????? }
??? }
// 每隔1000毫秒调用一次fun函数
??? setInterval(fun, 1000);
// 循环播放声音
??? mysound.onSoundComplete = start_fun;
}
// 定义全局函数stop_fun,作用是停止播放声音
_global.stop_fun = function() {
??? mysound.stop();
}
? 上一页??[1]?[2]?[3]?[4]?[5]?[6]?下一页?? ?   2.进入“主元件”的编辑场景。右键单击“主元件”场景中的第1帧,在弹出菜单中选择“动作”命令,在打开的“动作”面板中键入如下代码。这段代码的作用是“music 1”按钮被点击后,如果动态文本没有被隐藏,则跳转到第2帧。
stop();
music1.onRelease =function() {
if ( _root.text1._visible == 1 ) {
??gotoAndStop(2);
?}
}
  右键单击场景中的第2帧,在“动作”面板中键入如下代码。该代码的作用是“music2”按钮被点击后,返回到到第1帧。

stop();
music2.onRelease = function() {
??? gotoAndStop(1);
}

  3.进入“按钮”影片剪辑元件的编辑场景。右键单击场景中第1帧,在“动作”面板中键入如下代码。这段代码的作用是“bn1”按钮被点击后,显示动态文本,执行start_fun函数,然后跳转到第2帧。

stop();
bn1.onRelease = function() {
??? _root.text1._visible = 1;
??? _root.text2._visible = 1;
??? start_fun();
??? gotoAndStop(2);
}

  右键单击场景中的第2帧,在“动作”面板中键入如下代码。该代码的作用是点击“bn2”按钮后,先调用stop_fun函数。接着隐藏两个动态文本并让“mc”实例(即“主元

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号