AS3基础教程-第43课-新增音量调节功能
本节课将在AS3基础教程中添加一个新的功能,即音量调节按钮。
复制并重命名文件
1. 首先,将42.fla文件复制一份,并将复制的文件重命名为43.fla。使用Flash CS6打开43.fla文件。
绘制音量调节按钮
2. 为了实现音量调节功能,我们需要绘制一个音量调节按钮。该按钮由一个圆形和一个长条构成。
- 新建一个图层,命名为“音量_背景”。
- 为了方便起见,我们可以直接从库面板中拖动已经绘制好的元件1到舞台上,然后适当缩短其长度,并在属性面板中给它设置一个实例名为yinliang_bg_mc。
接下来,我们开始绘制音量调节按钮。
- 可以使用库中的bft_mc。
- 新建一个图层,命名为“音量_按钮”。
- 将库中的bft_mc直接拖动到舞台上,并在属性面板中给它设置一个实例名为yinliang_yuan_mc。
拖动效果实现
为了实现拖动效果,我们需要添加以下代码:
```
yinliang_yuan_(_DOWN, startDragButton);
(_UP, stopDragButton);
function startDragButton(event:MouseEvent):void {
yinliang_yuan_(true, new Rectangle(a, b, c, d));
}
function stopDragButton(event:MouseEvent):void {
yinliang_yuan_();
}
```
- `startDrag()`方法用于开始拖动,它有两个参数。第一个参数是布尔值,true表示以对象的中心被鼠标位置锁定,不管鼠标是否按下;false表示只有在鼠标点击按钮时才会移动,默认值为false。
- 第二个参数是一个矩形范围,用于约束拖动的范围。对象被拖动时不能超出这个范围,默认为null,即没有约束。
- `new Rectangle(a,b,c,d)`代码定义了一个矩形范围。其中a、b、c、d分别代表x坐标、y坐标、宽度和高度。例如,`new Rectangle(50,80,200,100)`表示在舞台上的(50,80)位置处,有一个宽度为200,高度为100的矩形。
- `stopDrag()`方法用于停止拖动,无需参数。
修改音量
声音的音量可以通过设置SoundChannel对象的soundTransform属性来实现。首先,创建一个SoundTransform对象,并对其赋值,然后将其赋给SoundChannel的soundTransform属性。
以下是一个示例,将音量设置为50%:
```
var soundTransform:SoundTransform new SoundTransform();
soundTransform.volume 0.5; // 音量范围为0到1
```
测试和添加音量修改代码
现在,我们来测试一下,看看按钮是否可以拖动。
然后,添加修改音量的代码。这部分代码需要使用soundTransform属性。首先,定义一个soundTransform对象,并对其进行赋值。最后,在触发函数内添加以下代码:
```
var initialX:Number 197; // yinliang_yuan_mc的初始坐标
function tiqi(event:Event):void {
var percentage:Number (yinliang_yuan_mc.x - initialX) / ( - initialX);
soundTransform.volume percentage;
soundTransform;
}
```
- `tiqi()`函数是触发事件的响应函数。
- `percentage`变量用于计算音量的百分比。根据yinliang_yuan_mc的x坐标与初始坐标之间的差距,以及舞台宽度与初始坐标之间的差距,计算得出音量的百分比。
- 将计算得到的百分比赋值给soundTransform对象的volume属性,并将其赋给soundChannel的soundTransform属性。
最后,将yinliang_yuan_mc放置在最右侧,以确保初始声音音量最大。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。