您现在的位置是: 软件 > 设计在线 > Flash > 基础教程 > 正文


-网页表格制作速查手册
-Visual C++ MFC/ATL开发
-Visual C++ 数据库开发
-打开闪烁的新世界:体验Flash MX

体验Flash MX(1): 打开闪烁的新世界
2002-03-20· ·Demon.S··DnVsystem

上一页  1 2 3  

  Flash MX针对Sound对象的修改不是让我很满意,因为没有增加可以获取波长的方法,我想是因为获取波长的时候CPU消耗较大的原因导致;还增加了几个运行状态只读属性,也没多大用途;不过onSoundComplete事件的增加,说明真正的循环音乐已经可以实现。

  首先按Ctrl+R随便导入一个mp3音乐,然后按Ctrl+L打开库,还是找原来Flash5中Linkage的位置,打开后还是发现有点变化的,不过更为简洁明了,for Actionscript即是当前影片程序使用,第二个,是运行状态时动态读入。把导入的mp3的Linkage ID取名sound1。(图7)

(图7)

  OK,刚编辑的当前层命名为“Mc”,新增加一层,命名“AS”。

  在AS这层中,按新的Action快捷键“F2”弹出Action面板,按Flash 5的传统方法应该是这样的:

  mxSnd=new Sound();
  mxSnd.attachSound("sound1");
  mxSnd.start();

  这样,按Ctrl+Enter测试后如果正常的话,会听到音乐。

  好,确保正常后,我们可以尝试一下新的Sound方法事件,我也顺便升级了我的函数库中的Sound.atcPlay(),请看下面的无限循环播放音乐的例子:

  // from Demon.S function lib

  Sound.prototype.atcPLay=function(id,loop){this.attachSound(id);this.start();
if(loop)this.onSoundComplete=this.start};

  mxSnd=new Sound();

  mxSnd.atcPlay("sound1",true);

  onSoundComplete事件发生在声音结束时,这时,只要把start方法作为处理函数即可实现无限循环。

  Sound.position()和Sound.duration()都是只读属性,前者是获取当前播放的毫秒数,后者则是时间总毫秒长度,加入下面的Action可以帮助你理解:

  trace(mxSnd.duration);
  trace(mxSnd.position);

  Sound.onload()事件则多用于读取声音的时候处理的事件。

  可以看到,Sound对象的变化不是让人满意,至少我没满意,期望下个版本加入获取音频流的方法。

  第一天是这样的,迷迷糊糊的一个软件终于有了一个开端,做出两个没什么形状的方块伴随着你刚做好的无限循环音乐,稍带成就感。

  最后存档,发现Macromedia考虑到向下兼容,你在存储的时候可以选为Flash 5格式的原文件,当然不可识别的代码会被忽略。

  相关文件:http://www.dnvs.net/tutorial/flash_mx/day1.fla

  篇外话:

  1,在Action面板中的Deprecate类别中的所有Action是Macromedia公司不推荐使用的语句,估计下个版本这些语句都会被废除,所以这里面的语句是千万不能用的,而不是尽量不用。

  2,Flash MX的快捷键虽然有一些变化,但是我觉得更加得容易记忆,不过我真心希望Mute Sound也可以有自己的快捷键,这个窘迫的尴尬发生在测试动画时并且声音没有使用Stream方式的时候。

上一页  1 2 3  

■ 相关内容
 体验Flash MX(10):服务器/客户数据存储控制
 体验Flash MX(9):Button对象
 使用Flash MX制作动态相册
 用Flash MX制作舞动的龙
 体验Flash MX(5):网络数据和文本相关操作
 体验Flash MX(4):用代码绘图
 体验Flash MX(2):LoadMovie和LoadVars
 Macromedia Flash MX的10个新特性
 Macromedia隆重发布Flash MX
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!