仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3085|回复: 9
打印 上一主题 下一主题

[学习教程] 来谈谈:Flash as进门(9):把持工夫轴-Flash actionscript

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
使用AdobeActionScript3.0开发高级的交互式项目。设计人员和开发人员可使用它来创建演示文稿、应用程序和其它允许用户交互的内容。
本例持续解说AS的基本常识,明天我们来进修FlashAS进门系列教程第七课:影片剪辑第三节把持工夫轴,对Flash的AS编程有乐趣的伴侣能够到论坛与作者交换。
上一篇文章:Flashas进门(8):加载和卸载swf文件
第三节把持工夫轴
MC实践上相称于一个自力的swf文件,它具有它自已的工夫轴。反过去说,我们也能够把一个swf文件当作一个MC。以是本节所先容的把持工夫轴的办法一样合用于主工夫轴。
在做好一个动画后,假如没有增加任何AS代码,那末动画就会按帧入手下手播放。本节的标题叫,把持工夫轴就是由用户来把持动画的播放。为了完成这个目标,起首应叫动画不要主动播放,以是第一个语句:
stop():工夫轴中断播放。
播进中断了,那末一定就要一个让动画播放的命令:
Play()工夫轴入手下手播放
上面来做个实习:
新建一个flash文件,在舞台右边上画一个园,在100帧拔出关头帧,将园拖到舞台右侧。创立补间动画。接上去新建两个按钮,标签分离为:播放,中断。新建一层,将两按钮拖进舞台,翻开属性面板,将播放按钮实例定名为:ply_btn,中断按钮实例定名为stop_btn.
新拔出一层,定名为:action.翻开举措面板,输出:
stop();如许运转时,工夫轴将停在第一帧,不播放。
接上去是点击播放按钮的举措:
ply_btn.onRelease=function(){
play();
}
点击中断按钮上的举措:
stop_btn.onRelease=function(){

stop();
}
测试影片,园停在那儿不动,点击播放,园入手下手活动,点击中断,园中断活动。
如许我们就完成了把持动画播放的功效。
下面是把持主工夫轴的播放,那末要把持MC的播放怎做呢?如今新建一个mc,按下面的办法做一个补间动画,在MC的第一帧输出:stop();将MC拖进舞台,在属性面板中实例定名为:mymc_mc.
在主工夫轴的第一帧,输出:
ply_btn.onRelease=function(){
mymc_mc.play();
}
stop_btn.onRelease=function(){

mymc_mc.stop();
}
测试影片,那末我们就已能把持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.在actin图层的帧举措面板中,增加以下代码:
kj_btn.onRelease=function(){
gotoAndPlay(_currentframe+5);
}
kt_btn.onRelease=function(){

gotoAndPlay(_currentframe-5);
}
测试影片,如今点快进,则播放头则向前5帧,入手下手播放。点快退播放头则向前进5帧入手下手播放。
大概我们还想整得更完善点,在播放时可以有一个播放进度条才好。剖析一下,以后帧如今已有了,假如能有一个动画的总帧数,不就好了,是的有总帧数这个属性的。
_totalframes属性:MC的总的帧数。
用以后帧往除以总的帧数,这不就是MC的播放进度吗。然后用一个矩形条来显现进度,接纳矩形条有_xscal属性即是以后帧与总帧数的比例来完成。
播放进度条的制造:
实习:接到下面的,拔出新的MC,画一细的矩形长条,垂直居中,左对齐。回到主场景,将MC拖进放好,取实例名为bft_mc.翻开action层帧举措面板,找到
ply_btn.onRelease=function(){
play();
}
在play()上面拔出:
onEnterFrame=function(){

if(_currentframe<_totalframes){

bl=Math.round(_currentframe/_totalframes*100);

bft_mc._xscale=bl;

}else{

deleteonEnterFrame//删除每帧的挪用

}
}
测试影片,点击播放按钮时,动画入手下手播放,同时有一进度条伴同睁开。


加载进度条的制造:
一些稍年夜一点的动画,翻开对照慢,特别是在收集上更是云云。有人倡议,你的动画假如凌驾100k,要把它放到收集上,最好做一个加载进度条。加载进度条的制造与播放进度条的制造道理差未几,只是猎取的是加载的字节数而不是播放的帧数。先看看MC的两个办法:
getBytesLoaded()办法:前往已加载的字节数。
getBytesTotal()办法:前往动画的总的字节数。注重与下面的_totalframes属性相区分,_totalframes属性是动画的总的帧数,getBytesTotal()办法:前往的是动画的总的字节数。
懂得了这两个办法后,制造就与播放进度条一样了。加载进度条经常会放到新的场景中,接下面的实习,点击窗口>别的面板>场景翻开场景面板,点右下角的加号,新增一个场景,并将这个场景拖到原场景1之上。回加入景2,新建一静态文本,内容为:“正在加载请稍候……”,在它上面放一个静态文本,实例称号为:load_txt.新建一影片剪辑元件,画一个修长的矩形,左对齐。回加入景2,将元件拖进放到静态文本上面。实例称号为:load_mc.新拔出一层,翻开帧举措面板,输出:
load_mc._xscale=0;
onEnterFrame=function(){

if(getBytesLoaded()<getBytesTotal()){

loadjd=Math.round(getBytesLoaded()/getBytesTotal()*100);

load_mc._xscale=loadjd;

load_txt.text=loadjd+"%";

}else{

deleteonEnterFrame;

}


}
点击舞台上的场景按钮,点场景1,这回到了场景1,在action的第100帧(最初一帧)拔出关头帧,翻开举措面板,输出:
gotoAndStop(1);
为何要加这句?由于在场景1的后面,我们放了一个加载条的场景,就地景1播放完后,播放头将回到加载场景,而这时候动画已加载,是不必要再播放加载场景的。以是用这一句将播放头回加入景1的第一帧,从而避开了加载场景。
测试影片,了局间接进进了场景1,没看到加载进度条。为何呢?这是由于在当地影片加载速率太快,没法显现加载进度。不妨,不要封闭flashplayer,点视图>下载设置,由于我们的动画太复杂,以是选最下面的速率最慢的谁人14.4k.如许这可模似在网上加载动画。点视图>模似下载,怎样看到了加载进度条了吧。
功课:制造上面的播放器


本地或全局转换应用于任何对象。但非真正意义上的3D,层的位置关系其显示问题。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-17 14:55:11 | 只看该作者
FLASH动画在如今的很多网站中都比较常见,其所独有的视觉效果和感染力成为各行各业宣传企业形象、推广产品的最佳平台。
板凳
发表于 2015-1-17 14:55:11 | 只看该作者
flash的优缺点可以如何运用呢?
变相怪杰 该用户已被删除
地板
发表于 2015-1-21 09:43:34 来自手机 | 只看该作者
在Web页面上使用声音是可能的,但是在精确的时间播放声音几乎是不可能的。Flash通过把声音放入时间期限内解决了这个问题,因此你现在可以把声音连接到动画的特定部分或者某个用户交互过程。
精灵巫婆 该用户已被删除
5#
发表于 2015-1-30 14:06:10 | 只看该作者
Flash也支持alpha通道,这会使设计者高兴。没有太多的技术性,alpha通道是附加在图像上的信息 - 允许图像以不同的方式渲染。
分手快乐 该用户已被删除
6#
发表于 2015-2-6 13:26:48 | 只看该作者
考虑到实际的效果,这些专业的网站并不会去单纯追求技术本身,广告设计是否FLASH不是目的,关键是获得最好的宣传效果。
莫相离 该用户已被删除
7#
发表于 2015-2-16 09:01:54 | 只看该作者
Flash插件的最新版本允许设计者控制Box之外的元素和把Flash元素放在HTML或其它元素上面或下面,这就为交互性打开了一个崭新的世界。
柔情似水 该用户已被删除
8#
发表于 2015-3-5 03:51:33 | 只看该作者
Flash使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-11 23:34:48 | 只看该作者
矢量图形相对于位图的另一个优势是可以随意缩放的能力。这是对动画进程的奖赏,对用户来说也是一个很酷的特征。在Flash之前,Web上没有这种功能。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-30 08:12:21 | 只看该作者
对插件的批评之一是他们一般出现在称为Box的网页的一个预定的区域。虽然在某种情况下表现不错,但Box经常以罪魁祸首的面目出现。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-24 15:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表