免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

第十三课:影片剪辑Part3控制时间轴

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:网雨霏霏 您是第3983个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
MC实际上相当于一个独立的swf文件,它具有它自已的时间轴。反过来说,我们也可以把一个swf文件看成一个MC。所以本节所介绍的控制时间轴的方法同样适用于主时间轴。




一、stop() play()语句:
     在做好一个动画后,如果没有添加任何AS代码,那么动画就会按帧开始播放。而控制时间轴就是由用户来控制动画的播放。为了实现这个目的,首先应叫动画不要自动播放,所以第一个语句:

stop(); //时间轴停止播放。

播入停止了,那么肯定就要一个让动画播放的命令:

play() //时间轴开始播放。

注意:这两个函数都没有参数。但是他们后面的()必须写哦。

1、在舞台左边上画一个圆,在100帧按F6键插入关键帧,将圆拖到舞台右边。创建补间动画。
2、接下来新建一个透明按钮。
3、新建一层,在舞台上制作两个静态文本框:播放,停止。将2中的按钮拖放到他们上面。打开属性面板,将播放按钮实例命名为ply_btn 停止按钮实例命名为stop_btn
4、新插入一层,命名为as,按F9键打开动作面板,输入代码:
本帖隐藏的内容需要回复才可以浏览

测试影片,圆停在那儿不动,点击播放,圆开始运动,点击停止,圆停止运动。
这样我们就实现了控制动画播放的功能。

上面是控制主时间轴的播放,那么要控制MC的播放怎做呢?现在新建一个mc,按上面的方法做一个补间动画,在MC的第一帧输入:
stop();
将MC拖入舞台,在属性面板中实例命名为mymc_mc
在主时间轴的第一帧,输入:
本帖隐藏的内容需要回复才可以浏览

测试影片,那么我们就已能控制MC的播放了。

二、gotoAndPlay(n)语句:将时间轴转到n所在的帧处,并开始播放。
gotoAndPlay(5); //从第5帧开始播放。

三、gotoAndStop(n)语句:将时间轴转到n所在的帧处并停止。
gotoAndStop(5); //跳到第5帧并停止。

四、nextFrame()方法:将时间轴移到下一帧并停止。
MC的控制:mymc_mc.nextFrame();
主时间轴的控制:this.nextFrame();

五、prevFrame()方法:将时间轴移到上一帧并停止。
用法同nextFrame()。

六、停止与暂停按钮:

stop()命令使时间轴停止播放,但它是停在当前帧处。很显然,这是暂停的效果。当我们再次点击播放按钮时,时间轴从当前帧处开始播放。所以在暂停按钮上的命令是:stop();

停止的效果是回到第1帧,所以在停止按钮上的命令是:gotoAndStop(1);

控制影片的播放,应该有快进快退的功能才算完整,要快进快退,那就应该要知道现在时间轴在什么位置,然后,在当前的位置加上或减去一个帧数,比如5帧或10帧来实现。

、_currentframe属性:播放头当前在时间轴中的位置。有了这个属性就可实现快进快退的效果了。

在上面的练习中增加两个按钮:“快进”“快退”,实例名称分别为:kj_btn   kt_btn
在as图层的帧动作面板中,添加如下代码:
本帖隐藏的内容需要回复才可以浏览

测试影片,现在点快进,则播放头则向前5帧,开始播放。点快退播放头则向后退5帧开始播放。

可能我们还想整得更完美点,在播放时能够有一个播放进度条才好。分析一下,当前帧现在已有了,如果能有一个动画的总帧数,不就行了,是的有总帧数这个属性的。

、_totalframes属性:MC的总的帧数。
用当前帧去除以总的帧数,这不就是MC的播放进度吗。然后用一个矩形条来显示进度,采用矩形条有_xscal属性等于当前帧与总帧数的比例来实现。

播放进度条的制作:

1、接到上面的,插入新的MC,画一细的矩形长条,垂直居中,左对齐。
2、回到主场景,将MC拖入放好,取实例名为bft_mc
3、打开as层帧动作面板,找到
ply_btn.onRelease = function(){
play();
}
在play()下面插入:
本帖隐藏的内容需要回复才可以浏览

Math.round(x)是一个数学函数。通俗的讲,该函数的作用就是对参数x进行四舍五入操作:
Math.round(2.1)=2
Math.round(2.4)=2
Math.round(2.5)=3
Math.round(2.7)=3


测试影片,点击播放按钮时,动画开始播放,同时有一进度条随同展开。

加载进度条的制作:

        一些稍大一点的动画,打开比较慢,尤其是在网络上更是如此。此时最好做一个加载进度条,这样,浏览者就知道影片正在加载中,而不是无法打开。而且,加载界面的动态效果欣赏起来也是比较赏心悦目的。加载进度条的制作与播放进度条的制作原理差不多,只是获取的是加载的字节数而不是播放的帧数。
1、预备知识:先看看MC的两个方法:
getBytesLoaded()方法:返回已加载的字节数。
getBytesTotal()方法:返回动画的总的字节数。
注意与上面的_totalframes属性相区别:
_totalframes属性是动画的总的帧数;getBytesTotal()方法返回的是动画的总的字节数。

2、开始制作:
       加载进度条常常会放到新的场景中。
①接上面的练习,点击“窗口>其它面板>场景”打开场景面板,点右下角的加号,新增一个场景,并将这个场景拖到原场景1之上。关闭场景面板。
②进入场景2,新建一静态文本,内容为:“正在加载请稍候……”。
在它下面放一个动态文本,实例名称为load_txt
③新建一影片剪辑元件,画一个细长的矩形,左对齐。
④回到场景2将元件拖入放到动态文本下面。实例名称为load_mc
⑤新插入一层,打开帧动作面板,输入:
本帖隐藏的内容需要回复才可以浏览

⑥点击舞台上的场景按钮,点场景1,这回到了场景1,在as的第100帧(最后一帧)插入关键帧,打开动作面板,输入:
gotoAndStop(1);

为什么要加这句?因为在场景1的前面,我们放了一个加载条的场景,当场景1 播放完后,播放头将回到加载场景,而这时动画已加载,是不需要再播放加载场景的。所以用这一句将播放头回到场景1的第一帧,从而避开了加载场景。

测试影片,结果直接进入了场景1,没看到加载进度条。为什么呢?这是因为在本地影片加载速度太快,没法显示加载进度。没关系,不要关闭flash player,点 视图>下载设置,因为我们的动画太简单,所以选最上面的速度最慢的那个14.4k.这样这可模似在网上加载动画。点“视图>模似下载”,怎么样看到了加载进度条了吧。
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

获得 大穷神卡 一张

卡片说明:网雨霏霏不小心破坏了公物,被警察叔叔扣掉4金钱

卡片效果:-4

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

打赏

取消

感谢您的支持,我会继续努力的!

扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by 爱秀代码,分享从这里开始,精彩与您同在

点评
B Color Smilies

您还可以输入:个字符
X

X

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页