当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash5 有声音的三眼狼(四)

Flash动画制作
fmx2004 1000问(5)
Flash MX 2004 组件事件简单调试器
fmx2004 1000问(2)
Action Script 2.0新手调试
Flash 2004 MX Components
flash action 详解(9)
flash action 详解(7)
flash action 详解(1)
flash action 详解(6)
一个用纯AS写的正态曲线画法
flash action 详解(3)
浅谈AS的绘图功能及几个简单的实例
AS的基本代码解释(2)
flash action 详解(2)
flash action 详解(10)
运用for循环来对多个mc进行检测
极坐标在绘画方法中的运用
用Flash 2004编写简单的运算类
flash action 详解(4)
flash action 详解(5)

Flash动画制作 中的 Flash5 有声音的三眼狼(四)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 82 ::
收藏到网摘: n/a

,flash 5也有两种自定义函数,即有参数的和无参数的(可叫过程)
语法:
function 函数名([参数0, 参数1,...参数N]){ 语句}
function ([参数0, 参数1,...参数N]){语句}
语句可以是空语句,使用return语句可返回一个值(ep:return a;),参数是函数内的形式参数,调用时替换成实际参数(值参、变参)。可以实现递归或传送变量,还可以直接在表达式内使用(a= function () {return b})。
接上面的调用,在场景的action中输入代码:
function ltor () { //接 ‘3’键的调用
snd.ll = 0;
snd.lr = 0;
snd.rr = 0;
snd.rl = 0;
snd.setTransform(snd); //初始化
for (i=0, j=100; i$#@60;=100; i++, j--) {//没加上j$#@62;=0,这样可以加快速度,如果i$#@60;=100,就使ll,lr逐渐
snd.ll = i; //增大,rr,rl逐渐变小,以达到从左声道到右声道的渐变效果,
snd.lr = i;
snd.rr = j;
snd.rl = j;
snd.setTransform(snd);
for (d=0; d$#@60;1000; d++) { //这个循环的目的是实现延时效果,不至于马上就循环结束,破坏渐变}}}
function rtol () {
snd.ll = 0;
snd.lr = 0;
snd.rr = 0;
snd.rl = 0;
snd.setTransform(snd);
for (i=0, j=100; i$#@60;=100; i++, j--) {//这个过程和上面的相反,实现的效果是从右声道到左声道渐变
snd.ll = j;
snd.lr = j;
snd.rr = i;
snd.rl = i;
snd.setTransform(snd);
for (d=0; d$#@60;1000; d++) {
}}}
6,现在加入选择声音的模块,先从源文件里拉出3个按钮,如图排列:
“1”的action:
on (release) {//停止声音,并
snd.stop();//绑定住s1,开始播放
snd.attachSound("s1");
snd.start();
tellTarget ("/mm") {
gotoAndPlay (2);//开始眼眉动画}}
“2”的action:
on (release) {
snd.stop();//绑定并播放s2
snd tachSound("s2");
snd.start();
tellTarget ("/mm") {
gotoAndPlay (2);}}
“3”的action:
on (release) {
snd.stop();//绑定并播放s3
snd.attachSound("s3");
snd.start();
tellTarget ("/mm") {
gotoAndPlay (2);}}

7,现在大可以测试了。