分享

MV制作初步-精确定位声音字幕

 清山水 2010-07-27
1、准备工作:仅仅需要一个能看到播放时间的音乐播放器既可 2、开始制作:首先新建三层,这样排列: 解释一下: 1、AS层就是用来放AS控制语句,用来控制歌词与MV的声音对应。除了第一帧,后面的全部是空白帧 2、影片层用来放你的MV的动画,在这里建议所有动画在一个MC里面完成,而不要直接在主场景上制作,这样子不仅很方便后期调整,也是一种好习惯(个人这样认为,我不喜欢用场景,喜欢用MC+AS来控制各个动画场景之间的调用,因为这样实在太方便了,而且AS也好些许多),同样除了第一帧,后面的全部是空白帧 3、歌词层就是用来放你的歌词,你可以看到歌词层后面除了第一帧是空白关键帧以外,后面所有的帧都是关键帧,第一帧空出来是因为歌曲不是一开始就有人唱的(前奏),因此前面有一段是空白没有歌词仅有音乐和动画的,因此歌词层第一帧没有歌词,而只显示上面一层的动画以及执行AS。后面几帧都是一句句歌词,用AS来控制显示,其实下面马上要讲解的AS的作用仅仅是根据歌曲播放的时间来判断是否进入下一帧,从而达到显示歌词的目的。 OK,层解释完了,因为这里主要是介绍怎样使用AS来控制歌词显示(跳转帧……),因此关于MV的动画制作部分我们就略过不讲了,下面开始解释AS层上第一帧的AS(也是整个FLASH动画中唯一的AS): onClipEvent (load) { //当影片载入的时候 song = new Sound(); //建立声音对象 song.attachSound("sound"); //从库中调用连接名为Sound的声音对象 song.start(); //声音对象开始播放(刚刚声音已经绑定到Song上面,以后对Song这个变量的操作就是对声音本身的操作) inc = 0; //给inc赋值为0 timerStart = getTimer(); //获取歌曲开始播放的时间 labelTimeList = [30.8, 40.9, 50.3, 54.8, 60.6, 64.8, 81.5, 91.6, 100.9, 105.4, 111, 115.3]; //建立一个数组,里面的数字就是歌词出现的时间,如30.8秒的时候出现第一句歌词,依此类推 } onClipEvent (enterFrame) { //当影片载入的时候 if (getTimer()-timerStart>labelTimeList[inc]*1000) { //如果现在的时间(既歌曲已经播放的时间)减去歌曲开始的时间大于上面定义的数组中的一个时间,由于gettime获得的时间是毫秒单位,因此要乘以1000转换成秒 inc == inc++; //inc递增 _parent.nextFrame(); //播放下一帧的内容 }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多