马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
可以为受众提供跨计算机、智能手机、平板电脑和电视平台的令人痴迷的一致性体验。
poluoluo中心提醒:本例为FlashAS3.0菜鸟学飞系列教程,在上一讲中我们进修了含有多个类的AS3类文件的写法,在这一讲中我们来进修帧轮回的使用,但愿能给初学FlashAS编程的伴侣带来匡助.
本例为FlashAS3.0菜鸟学飞系列教程,在上一讲中我们进修了含有多个类的AS3类文件的写法,在这一讲中我们来进修帧轮回的使用,但愿能给初学FlashAS编程的伴侣带来匡助~~
进修AS3菜鸟腾飞吧之帧轮回
多帧轮回
Flash中的帧在默许情形下是轮回实行的,租用gotoAndPlay()函数能够完成复杂的帧轮回,而完成代码的反复实行。
gotoAndPlay()函数的用处是把持或改动影片剪辑的播放流程,假如在影片的第1帧画面中安排必要反复实行的程序,然后在第2帧到场gotoAndPlay(1)语句。重复实行第1帧画面的程序,那末gotoAndPlay()函数就组成了一个轮回程序布局。
gotoAndPlay()函数没有前提判别功效,是无前提反复的轮回布局。但能够和if语句一同利用。构成具有判别停止前提功效的轮回。
上面用帧轮回制造匀速活动:
1、新建Flash文档
2、在图层1的第一帧创立一个实例名为mc的影片剪辑实例
3、新建as层,单击第1帧输出代码:
//失掉mc的横坐标
vardx:Number=mc.x;
//界说速率
varspeed:Number=10;
4、在as层的第2帧拔出空缺帧,输出代码;
//横坐标加上速率
dx+=speed;
//设置mc的横坐标
mc.x=dx;
5、在as层的第3帧拔出空缺帧,输出代码:
//判别是不是超越舞台界限
if(dx<stage.stageWidth)
{
//跳到第2帧并播放
this.gotoAndPlay(2);
//如超越舞台的右侧界
}else
{
//中断播放
this.stop();
}
stage是Stage类的实例,Stage类着名为stageWidth的属性,暗示舞台的宽度。
6、测试影片,能够看到影片实例会一向活动到舞台的右侧界。
从测试了局看,影片的活动其实不流利,这与帧频和帧轮回布局有关。Flash默许帧频是12FPS,就是一秒播放12帧。下面的程序因为利用了帧跳转语句,实践必要每播放两帧才会实行第2帧的代码一次,这就是说第2帧的代码实行频次是6FPS,以是动画效果会显得不流利。
图层布局图示:
下面的例子实行代码的速率只要帧频的一半,并且代码分离,不合适制造庞大的使用程序。我们能够使用enterFrame事务以帧频的速率实行代码,并且代码能够会合在一帧。
用enterFrame事务制造匀速活动:
1、新建Flash文档
2、在图层1创立一个实例名为mc的影片剪辑
3、新建as图层,单击第1帧,输出代码:
//静态变动帧频
stage.frameRate=30;
//猎取mc初始地位
vardx:Number=mc.x;
//界说速率
varspeed:Number=5;
//注册侦听器
mc.addEventListener(Event.ENTER_FRAME,onMove);
//界说事务吸收函数
functiononMove(e:Event)
{
//坐标减速度
dx+=speed;
//影片剪辑的坐标
e.target.x=dx;
//假如影片活动到舞台右侧界
if(ds>stage.stageWidth)
{
//移除enterFrame事务
mc.removeEventListener(Event.ENTER_FRAME,onMove);
}
}
代码利用了Event类的ENTER_FRAME属性,吸收函数中参数e是Event类的实例,它具有target属性,target暗示事务发送者mc。
4、测试影片
利用enterFrame事务可完成代码的反复实行,它实行的速率与帧频有关。
提醒:当不必要利用enterFrame事务时,必定要用removeEventListener()函数来删除enterFrame事务。
[media=wmv,550,400][/media]
占用硬盘空间少,所以被广泛应用于游戏、网络视频、网站广告、交互设计等。 |