收藏本站
 
设为主页
     您的位置:首页资源库动画制作Flash教程
== 资 源 搜 索 ==
 
高级搜索
== 学 习 资 源 ==
操 作 系 统
Windows DOS
Linux Unix
Novell OS/2
办 公 软 件
Word Excel
Access Powerpoint
Outlook Wps
媒 体 处 理
网页制作 动画制作
图片处理 视频处理
媒体播放 音频处理
课件制作 其它……
网 络 工 具
网页浏览 下载工具
FTP 工具 邮件工具
网络安全 服 务 器
联络聊天 其它……
工 具 软 件
压缩工具 系统工具
文件工具 磁盘工具
病毒防治 阅读工具
测试工具 程序设计
== 素 材 资 源 ==
GIF动画 Flash动画
按钮图库 图标图库
线条图库 背景图库
创意图库 音频素材
== 教 程 下 载 ==
Flash5制作色彩变换
    
作者:pc-king / 蓝色理想

      实现原理:利用duplicateMovieClip复制movieclip,用setProperty与random函数所取的随机数决定复制出的movieclip的位置。
最后利用new Color,setRGB与random函数来随机决定复制出的movieclip的颜色。
    
    

本例重点语法:

  random()函数:random在actionscrip中是一个应用相当广的函数,它的作用是获取0到指定整数之间的任意整数。利用它,我们可以解决随机显示,随机移动等一系列的效果。是复杂动画的基础,对random函数的灵活应用,是我们解决很多实际问题,创造奇妙效果的前提。我们来看看它的语法:
random(value);
参数
value:所生成随机整数的上限
实例
random(4)所返回值可能为0,1,2,3

new color()函数:new color()是一个面向对象color的函数,在使用color对象前必需使用构造器new color()来创建一个color对象
实例。new color()的语法:
new color(target)
参数
target是使用这个颜色方案的电影剪辑

setRGB()函数:setRGB()也是一个面向对象color的函数,它可以为一个颜色对象指定一个RGB值。语法:
xxx.setRGB(0xRRGGBB)
参数0xRRGGBB设置一个16进制的RGB值,RR,GG,BB各为16进制数,用来指定颜色。
实例
xxx.setRGB(0x006699)

duplicatemovieclip当动画正在播放是复制一个movie clip。复制出的moveclip与被复制的movieclip完全一样,并从第一帧开始播放。
语法:
duplicatemovieclip(target,newname,depth)
参数
target:要复制的movieclip的路径与名称
newname:复制出的movieclip唯一的名称
depth:景深

setProperty,在movieclip播放时设置其属性。语法:
setProperty(target,property,expression)
参数
target:要设置属性值的movieclip的路径与名称
property:待设置的属性
expression:待设置的属性值
实例
setProperty("xxx",_x,100)
将xxx的x座标设为100

本例完成步骤:

      新建文件,设置文件宽,高均为200,背景色为黑色。insert---new sysmbol建立新的元件sysmbol 1,用圆形工具在ball元件中画一个无边线的圆,任意填充一种颜色。window---panels---info在弹出的info面板上设置其宽高均为31.0,window---panels---align在弹出的align面版上使其距中对齐。insert---new sysmbol建立新的元件sysmbol 2,从library中将sysmbol 1 拖入,在align面板中设置对齐,使其距中,在第15,30帧新建关键帧,单击第1帧,window---panels---effect在弹出的effect面板中设alpha=0%,

单击第15帧,将sysmbol 1的宽,高设为71.0,
单击第30帧,window---panels---effect在弹出的effect面板中设alpha=0%。从第1到15帧与第15到30帧分别创建动画。

回到scene 1,将sysmbol 2拖入场景命名为xx,在scene 1中新建一层layer2,在第2帧新建关键帧,双击第2帧,弹action面板,输入如下action:


输入如下action:

if (Number(i)>50) {
i = 0;}
///当i>50时令i=0,这样可以使复制的movieclip保持在50个,不会浪费系统资源。
duplicateMovieClip ("/xx", "xx" add i, i);
///将scene1中的xx元件复制为xx add i,即当i=1时复制为xx1,当i=2时复制为xx2......
setProperty ("xx" add i, _x, random(400));
///设置xx add i的x座标,random(400)是因为我们的动画宽为400。
setProperty ("xx" add i, _y, random(400));
///设置xx add i的y座标,random(400)是因为我们的动画高为400。
col = random(0xafafaf)+0x999999;
///随机设置一个颜色值
xzcol = new Color(_root["xx" add i]);
xzcol.setRGB(col);
///定义xx add i的颜色
i = Number(i)+1;
gotoAndPlay (1);
///从scene1的第一帧开始播放,重复以上过程

技巧提示:

   我们设立了一个循环,但此循环并不在一帧内完成,而是有一帧的延迟,(从第2帧到第1帧再到第2帧的循环)。这样,我们就能作出movieclip一个接一个出现并永不终止的效果。也才能实现各个movieclip不同时开始播放。怎么样,很简单吧?希望本文能对您熟悉flash的基本操作,了解actionscript语法有所帮助。尤于本人水平有限,如有疏漏之处,请与pc-king@21cn.com联系。 源码下载

[上一页] [下一页]


Copyright © 2001-2002 东莞中学信息技术科 All Rights Reserved
IE4.0 or later / 800*600  For The Best View