| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
如何加入透明Flas
为新浪博客添加fl
flashget下载联盟
265联盟:“Flash
新易网络提供100M
龙太极/100m/asp/
无限网络提供50M 
霞光科技50M/Htm/
苏能科技100M/FTP
悠博科技50M/FTP/

走近AS(1)-了解触发帧频事件的重要性           

走近AS(1)-了解触发帧频事件的重要性

作者:佚名 来源:闪吧 作者: 卢巧音中文网 更新:2007-1-13 20:48:58 错误报告 我要投稿

走近AS(1)-了解触发帧频事件的重要性
了解触发帧频事件的重要性
事先声明,这不是教程。只是我在学习Flash的几年中,碰到的一些认为初学者值得注意的   细节问题。希望大家能够对这些问题的解决方法感兴趣,并举一反三,解决更多的实际问题。另外个人技术水平有限,其中肯定会有不少谬误,还请大家不吝赐教。
众所周知,传统动画以及Flash的播放是基于"帧"的,帧频就是单位时间内(1秒)播放的帧数。在默认情况下,Flash的帧频是12帧/秒(12   Frames   Per   Second   或者说   FPS=12),也就是1秒钟播放Flash中   12帧的影片内容。


触发事件是Flash中的一个重要概念,粗略的说也就是满足某种条件下发生的事件或结果。假如主场景下有一个按钮,我们想按下它的时候播放影片。那我们就要在按钮上写上

on(press){
play();
}



按下按钮时,满足了on(press)--------->(按钮按下)的条件,所以执行了其代码块内的函数play();
这就是一种最简单的触发事件。



触发帧频事件也是触发事件中的一种,从意译上说就是:每经过播放1帧就触发事件一次。



触发帧频事件是最常见也是最重要的一种触发事件。举个例子,如果你希望你定义的函数或预定的方法每隔一个帧频事件就被触发一次,并且贯穿整个场景。那么你就不能把这个函数或方法写在单独的一帧上,那样的话,这个函数只能执行一次。



用个浅显的例子来证明:我们在主场景建一个叫"a"的MC,MC内有两个动态文本,实例名分别为x,y。我们希望在移动鼠标的时候文本会跟随鼠标移动,并且文本内显示的数字是鼠标当前的坐标,最重要的是这个显示是贯穿于整个影片的播放过程中。


如果只在帧上这样写

                                              
startDrag("a",true);//实例为"a"的MC,跟随鼠标中心
                        a.x.text=Math.floor(a._x);//"a"实例中的x动态文本的文字是"a"的x属性值取下限值
   a.y.text=Math.floor(a._y);//同理


实际效果是:只在播放第一帧的时候文字才会变,而在之后的影片播放中,文字均是不变的。



效果在这
点击开新窗口欣赏该FLASH动画![全屏欣赏]
但如果我们领会了上面触发帧频事件的意义,我们则会这样写


                  startDrag("a",true);
                  onEnterFrame=function(){//每播放一帧就会激发一次
   a.x.text=Math.floor(a._x);
   a.y.text=Math.floor(a._y);
}

onEnterFrame就是每当进入一个帧的意思,当然除了在帧上用onEnterFrame的方法,我们还可以在MC上用onClipEvent(enterFrame)的方法声明。


看看效果


点击开新窗口欣赏该FLASH动画![全屏欣赏]
想当初,我因为没有理解这个帧频触发事件,而在这个鼠标位置显示的例子上耗费了大量的时间和精力。希望我现在的这个讨论能给初学者的学习带来一点点的帮助,让大家少走一点弯路。


原文件如下:
点击浏览该文件


文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。