我正在as3中构建音频音序器。我有一个Track类,其中包含播放声音的播放按钮,音量滑块和16个复选框,用于打开/关闭16个步骤中的每一个。舞台上有8个Track实例。我想知道的是如何唯一地识别点击什么按钮/滑块/复选框?我在哪里加载每个声音? boleow是我的Track类
package
{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
public class Track extends MovieClip
{
private var soundName:Sound;
private var theChannel:SoundChannel;
private var songName:String;
public function Track()
{
// constructor code
trace("track created");
singlePlay.addEventListener(flash.events.MouseEvent.CLICK, handlePlayClick);
}
private function handlePlayClick(e:Event):void
{
trace("Play clicked");
this.play();
}
public function setSoundName(theName:String):void
{
this.songName = theName;
soundName = new Sound();
var req:URLRequest = new URLRequest(this.songName);
soundName.addEventListener(Event.COMPLETE, playSound);
soundName.load(req);
}
public function playSound()
{
theChannel = soundName.play();
}
public function stopSound():void
{
theChannel.stop();
}
}
}
答案 0 :(得分:0)
如果你有一个能够加载不同音频文件(曲目)和UI的中央音频播放器会更好,它会触发该类的动作,而不是构建可以处理音频播放的视觉元素。你必须首先学习OOP原则才能做到正确(正确的意思是:灵活,可重用,易于维护/扩展):
书籍:
直接回答你的问题,每个DispalyObject都有一个名称属性,你可以用它来识别被点击的东西 - 不理想。
最好的问候