• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 美工设计 >> FLASH教程 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • Flash入门教程:滚动字幕动画..
  • Flash AS 教程:多种图片切换..
  • SWFText轻松制作Flash贺卡
  • Flash教程:引导线制作爱心图..
  • Flash AS教程:旋转立方体
  • Flash教程:单选题的制作
  • loading制作Loading预载动画..
  • Flash教程:制作文字波动视觉..
  • Flash+XML写的个类似韩国菜单..
  • Flash8实例教程:绘制中国风..
  • Flash教程:花吃蝴蝶的动画演..
  • Flash教程:用鼠标控制图片移..
  • 漂亮的Flash动画也能作桌面背..
  • Flash8模糊滤镜绘制逼真青翠..
  • Flash中如何显示清晰的字体
  • Flash教程:制作天空中流星划..
  • 给Flash初学者的几点建议
  • 全Flash动画网站的实现详细教..
  • Flash CS3制作Fla形式的组件
  • 方便的Flash文字特效制作工具..
 
 

全Flash动画网站的实现详细教程

  • 日期:2008-03-08     人气:     出处:经典论坛     作者: diamondian
  • 字体大小:
  • 小
  • 中
  • 大

三:有关于按钮

其实flash站80%的功能都是基于鼠标事件来完成的,所以按钮在网站中的地位不言而喻,在我理解一个flash全站无非就是通过一些按钮的导向来播放不同位置的mc。
按钮有两种方式可以实现。一种是按钮元件,一种是影片剪辑元件,这两个原件中。按钮只有4帧,而影片剪辑没有限制,所以如果需要一个有动画效果的按钮的时候,我们就只能用影片剪辑也就是mc来实现。事实上,我认为,mc在大部分时间里都可以替代按钮,通过脚本控制mc来实现按钮的功能要比按钮灵活的多。

这是一个最通常的动画按钮的内部结构


新手提示:这里需要提示的是关于帧标签的概念:上图中时间轴里标注的s1与s2是帧标签,在帧的属性栏里可以输入,使用了帧标签可以用gotoAndPlay等等语句来播放该真标签所开始的位置,过了该帧标签的范围后,不会停止哦~~。用帧标签的好处是你无需理会关键桢的数值,在任何地方播放这段动画,都可以含义明了的操作,并且容易解读和记忆。

在这个按钮mc所在的帧上(上图的外层)写上如下脚本,这个按钮就生效了

网页教学网

[Copy to clipboard] [ - ]
CODE:
btn1.onRollOver=function(){btn1.gotoAndPlay"s1"};
btn1.onRollOut=function(){btn1.gotoAndPlay"s2"};
btn1.onRelease=function(){};

可以看出在用脚本对btn1按钮添加了onRollOver,onRollOut,onRelease事件后,也就是经过,离开,点击,这个mc就拥有了一个按钮的3种状态,至于点击并不松手这种状态,通常并不常用,所以就没有添加,如果需要的话,那么只需要在对应的帧上写onPress事件就可以了

需要注意的是:利用这样的写法来实现的按钮,时间轴不能过长,也就是说,动作效果不能动画太长,如果时间很长的话,当你的鼠标划过的时候,这个按钮会执行s2部分,而这么长的动画,你并不是想要播放的,这个按钮已经可以说是一段用鼠标事件激活的动画了,不该用鼠标经过这样的事件来激活。

在全站中经常有这样的情况,即是很多按钮都要实现类似或者同一种类的功能,那么一一写onRollOver等等就太烦琐了。

网页教学网



这时候我们就需要用循环的功能了,最开始,如果你看不懂,那么你并不需要去深究到底是怎么写法,粘贴过去,然后去改你需要改的部分吧。



这里有5个按钮,按钮的名字是pm1,pm2---pm5,当鼠标经过这些mc的时候,如果经过的不是已经点过的mc的话,就播放这个mc的“s1”部分,鼠标离开的时候,满足同样条件就播放“s2”部分,点击这个mc的话,上一个被点的mc播放"s2"部分(通常也就是回到初始的状态),

[Copy to clipboard] [ - ]
CODE:
stop();

function rollover() {
    if (_root.a != this.indexNum) {
        this.gotoAndPlay("s1");
    }
}
function rollout() {
    if (_root.a != this.indexNum) {
        this.gotoAndPlay("s2");
    }
}
function release() {
    this._parent["pm"+_root.a].gotoAndPlay("s2");//上一个被点的按钮执行播放s2
    _root.a = this.indexNum;
               //上面的代码顺序不能错。代码执行也是有顺序的,
               //点击后需要做的事情写在这里。
}
for (var i:Number = 1; i<6; i++) {
    this["pm"+i].onRollOver = rollover;
    this["pm"+i].onRollOut = rollout;
    this["pm"+i].onRelease = release;
    this["pm"+i].indexNum = i;
}


这段代码很简单,是as比较基础的语句,关于for,以及if语句的用法,请自己在网上找,有的是。其实,做flash站,最常用的语句就是这两个,应该理解透。新手朋友需要注意的是
if后面的条件要用==来判断,如果只写一个=,那么这个条件就永远都成立,因为=是赋值的意思,而==才是判断,
这里的for (var i:Number = 1; i<6; i++) 部分,如果你有5个按钮那么i<6,如果6个就i<7

需要非常重视的是这个东西_root.a,这是一个变量,我叫这个东西为“标志位”,当然也可以叫做_root.abcde,在这里利用这个_root.a=来记录当前鼠标事件的对象,当点了btn1的时候,这个_root.a=1,_root在as里是顶级的位置,我们写_root.a=1就是表明在主时间轴建立一个变量值为1,之所以用顶级位置,就是因为调用起来简单,方便,在任何地方都可以用,这里涉及到路径和层级的知识,稍后说明。。。。。总之在我们需要记录一个数据,比如页数,比如按钮序号,等等的时候,这个“标志位”使用起来是很方便的。在下面我们还会用到。 网页教学网

另外一个推荐熟悉的部分是movieClipTween这个功能扩展,这个类,或者这个方法,简单的说就是用脚本而不是 用时间轴来安排动画,在很多时候,我们如果用脚本的方式来实现一些mc的交互会更加方便,同时更加灵活,这样做的好处是,比如你需要一些按钮,你并不需要为每一个按钮安排时间轴和建立关键桢,所有动作都用脚本生成。而且很直观,我不是很会形容这个的好处,但是相信没有用过的朋友们一定会习惯并且喜欢这种动画创作方式。下图为例:


具体的脚本如上所示。
需要知道的是,这个扩展的功能并非flash安装后自带的,你需要下载这个后缀名为mxp的扩展包,安装需要有extention manager这是adobe公司的免费软件,如果你安装了dw9就同时安装了。。安装之后,参数的使用方法非常简单,在flash的帮助文档里会添加出相关的项目,虽然是英文的,但是也非常易懂。

[1] [2] [3] [4] [5] [6]
相关文章
  • 网站的视觉设计路径应顺应用户习惯
  • 32个典型的以分栏/网格为基础的网站
  • 解决网站防挂IFRAME木马的原理
  • 网站的反向链接的定义和原则
  • 在线相片管理和分享应用程序网站:Flickr
  • 网站在搜索引擎里的排名靠前的简单方法
  • PHP使用zlib扩展实现页面GZIP压缩输出
  • 网站常用服务器工具软件的使用经验
  • 网站稳步快速发展的两大绝技
  • 恢复被baidu封的网站的一些经验
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息 中国E速网 59互联  提供服务器及带宽赞助