创建声音控件

可以使用内置 Sound 类控制 SWF 文件中的声音。若要使用 Sound 类的方法,必须先创建一个 Sound 对象。然后可以使用 attachSound() 方法在 SWF 文件运行时将库中的声音插入该 SWF 文件。

要查看声音控件的动画演示,可单击“播放”按钮,然后调节音量和左右平衡。

Sound 类的 setVolume() 方法控制着音量,而 setPan() 方法则调节声音的左右平衡。

下面的步骤介绍如何创建如上所示的声音控件。

将声音附加到时间轴上:

  1. 选择“文件”>“导入”来导入一种声音。
  2. 在库中选择声音,右键单击 (Windows) 或按住 Control 键单击 (Macintosh),然后选择
    “链接”。 
  3. 选择“为动作脚本导出”和“在第一帧导出”,然后为其指定标识符 a_thousand_ways
  4. 在舞台上添加一个按钮,然后将它命名为 playButton
  5. 在舞台上添加一个按钮,然后将它命名为 stopButton
  6. 在舞台上添加一个影片剪辑,然后将它命名为 speaker
  7. 在主时间轴上选择第 1 帧,然后选择“窗口”>“开发面板”>“动作”。将以下代码添加到“动作”面板中:
    speaker.stop();
    song = new Sound();
    song.onSoundComplete = function() {
      speaker.stop();
    };
    song.attachSound("a_thousand_ways");
    playButton.onRelease = function() {
      song.start();
      speaker.play();
    
    };
    stopButton.onRelease = function () {
      song.stop();
      speaker.stop();
    }
    

    该代码首先停止扬声器影片剪辑。然后创建一个新的 Sound 对象 (song),并向该对象附加链接标识符为 a_thousand_ways 的声音。接下来,它为 song 对象定义 onSoundComplete 处理函数,该函数将在声音结束后停止 speaker 影片剪辑。最后,与 playButtonstopButton 对象关联的 onRelease 处理函数使用 Sound.start()Sound.stop() 方法开始和停止该声音,并且还播放和停止 speaker 影片剪辑。

  8. 选择“控制”>“测试影片”来试听声音。

创建滑动的音量控件:

  1. 将某个按钮拖到舞台上。
  2. 选择该按钮,然后选择“修改”>“转换为符号”。选择影片剪辑行为时要小心。

    这创建了一个在第一帧中带有按钮的影片剪辑。

  3. 选择该影片剪辑,然后选择“编辑”>“编辑所选项目”。
  4. 选择该按钮,然后选择“窗口”>“开发面板”>“动作”。
  5. 输入下列动作:
    on (press) {
        startDrag(this, false, left, top, right, bottom);
    }
    on (release) {
        stopDrag();
    }
    

    startDrag() 参数 lefttoprightbottom 是在剪辑动作中设置的变量。

  6. 选择“编辑”>“编辑文档”返回到主时间轴。
  7. 在舞台上选择影片剪辑。
  8. 输入下列动作:
    onClipEvent (load) {
        top = _y;
        bottom = _y;
        left = _x;
        right = _x+100;
        _x += 100;
    }
    onClipEvent (enterFrame) {
        _parent.song.setVolume(_x-left);
    }
    
  9. 选择“控制”>“测试影片”来使用音量滑块。

创建滑动的平衡控件:

  1. 将某个按钮拖到舞台上。
  2. 选择该按钮,然后选择“插入”>“转换为符号”。选择该影片剪辑属性。
  3. 选择该影片剪辑,然后选择“编辑”>“编辑符号”。
  4. 选择该按钮,然后选择“窗口”>“开发面板”>“动作”。
  5. 输入下列动作:
    on (press) {
      startDrag ("", false, left, top, right, bottom);
      dragging = true;
    }
    on (release, releaseOutside) {
      stopDrag();
      dragging = false;
    }
    

    startDrag() 参数 lefttoprightbottom 是在剪辑动作中设置的变量。

  6. 选择“编辑”>“编辑文档”返回到主时间轴。
  7. 在舞台上选择影片剪辑。
  8. 输入下列动作:
    onClipEvent (load) {
      top=_y;
      bottom=_y;
      left=_x-50;
      right=_x+50;
      center=_x;
    }
    
    onClipEvent (enterFrame) {
      if (dragging==true){
        _parent.setPan((_x-center)*2);
      }
    }
    
  9. 选择“控制”>“测试影片”来使用平衡滑块。

有关 Sound 类的方法的更多信息,请参见 Sound 类