使用Flash AS3更改图像

时间:2012-10-22 18:05:37

标签: actionscript-3 flash

所以我明天就要完成这项任务,并使用as3在Flash中创建一个音频播放器。我根本不懂as3。我有播放器的代码,因为我只使用了我们在课堂上使用的相同代码,但我有点想让它成为我自己的代码。 我创造了一个Ipod风格的播放器。 首先,我希望前进按钮播放下一首歌曲。我该如何编写代码呢? 下一首歌曲播放时我想要显示特定图像。当下一首歌出现在下一张图片上时

这是我对歌曲的代码

function playTrack(e:MouseEvent) :void {
    switch(e.target.name) {
        case "track1":
            trackToLoad = "audio/Don't Stop Believing.mp3";
            trackName = "Journey • Don't Stop Believing"
            break;
        case "track2":
            trackToLoad = "audio/Never Never Land.mp3";
            trackName = "Metallica • Never Never Land"
            break;
    ...

但不是只有一个停止和播放按钮以及播放每首歌曲的10个按钮,我想要一个跳过按钮来转到下一首歌..

希望这足以获得一些帮助 谢谢

2 个答案:

答案 0 :(得分:2)

将曲目设置为对象数组:

var track1:Object = {
  track: 'Don\'t stop believing',
  artist: 'Journey',
  file: 'dont_stop_believing.mp3'
};
var track2 //same as above
var tracks:Array = [track1, track2, ...];

你真的可以创建一个Track课程,但听起来你还没有达到这一点。

不是让你的playTrack函数实际上是鼠标事件处理程序,而是应该将它分开,以便无论轨道如何开始播放它都可以普遍使用(即点击该轨道的按钮,点击下一个按钮,或上一首歌曲结束后)。写一个单独的函数来处理鼠标事件(即clickTrack()),它将调用你的playTrack()函数。

在数组中设置曲目将允许您记录每个曲目的索引(包括currentTrack)作为数字。这样,只需递增currentTrack变量即可遍历轨道。

这样,您可以将playTrack()函数设置为trackNumber参数(即playTrack(1)。然后只需使用该参数来引用您要播放的曲目的索引在tracks数组内。记住数组在0索引上意味着第一个元素是索引[0],第二个元素是[1],等等。所以你要么必须写{{1}以这种方式运行,或通过减去1进行转换。

答案 1 :(得分:0)

尝试在索引数组中存储某种Track对象。您可以跟踪索引,并在用户点击跳过后退时进行更改。 Track对象可以存储文件路径,曲目名称和要显示的艺术品。索引更改后,从阵列中获取正确的曲目并更新播放器。

Here is an example that actually uses song titles.