2016 - 2024

感恩一路有你

AS3基础教程-第43课-新增音量调节功能

浏览量:1869 时间:2024-01-28 23:15:10 作者:采采

本节课将在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放置在最右侧,以确保初始声音音量最大。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。