5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:西安
性别:先生
最后登录:2014-09-24
http://dzxz.5d.cn/
学习编程纯属业余爱好,但时间久了,或多或少就有了一点点的经验和心得。接触 Flash 程序设计是从2005年的10月以后才开始的,在学习Flash的过程中得到了 闪客启航UC聊天室 很多朋友和老师的非常大的帮助,这对我的学习的方向也产生了较大的影响。 目前对游戏设计、课件制作有较浓厚的兴趣,在博客中写了一些这方面的分析文章,与大家一起分享编程的快乐,并且希望我的课件设计方面的讨论对教师朋友能有所帮助。
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2006/02/16 | 图片模糊过渡效果的例子——Lab No.1
类别(Flash课件设计)
|
评论
(0)
|
阅读(451)
|
发表于 18:52
最初设想建立一个实验室专栏,用来分析网友们提供的精彩Flash效果,但因为Blog 新开辟的原因,专栏还没有认真的划分,所以直到现在还没有一个真正意义上的开始。
今天就以一个简单的例子来开始我的实验室实例分析专栏吧。首先说一下必备的工具,包括 Flash MX 或 Flash 8.0 ,还有就是《硕思闪客精灵》,该软件可以直接读取 swf 文件的内部结构,并且还有反向还原为 fla文件的功能,因此,我不打算再提供相关 flash 的原代码了(也为了节省博客空间),需要原代码的朋友请留言,根据情况,我再决定是否上传完整的原代码。
今天的实例是一个图片模糊过渡的效果,图片如下:
Flash 动画
:
用闪客精灵打开该文件,点击动作一栏,可以看到主要的代码如下:
// Action script...
// [Action in Frame 1]
tu = new Array("a", "b", "c", "d", "e", "f", "g", "h");
for (i = 1; i <= 8; i++)
{
_root.attachMovie(tu[i - 1], "h" + i, i);
with (_root["h" + i])
{
_x = 250;
_y = 90;
_visible = false;
} // End of with
} // end of for
i = 1;
n = 0;
// [Action in Frame 2]
_root["h" + i]._visible = true;
_root["h" + i]._alpha = n * 5;
n++;
// [Action in Frame 3]
if (n < 21)
{
gotoAndPlay(2);
} // end if
// [Action in Frame 5]
_root["h" + i]._alpha = n * 5;
n--;
// [Action in Frame 6]
if (n > 0)
{
gotoAndPlay(5);
}
else
{
gotoAndPlay(2);
i++;
if (i > 8)
{
i = 1;
} // end if
} // end if
//////////////////////////
frame 表示 帧,[Action in Frame 1] 表示第一帧里的动作。
先复习一下 attachMovie 函数的用法:
MovieClip.attachMovie()
用法
my_mc.attachMovie(idName, newName, depth [, initObject])
参数
idName 库中要附加到舞台上某影片剪辑的影片剪辑元件的链接名称。这是在"链接属性"对
话框中的"标识符"字段中输入的名称。
newname 附加到该影片剪辑的影片剪辑实例的唯一名称。
depth 一个整数,指定 SWF 文件所放位置的深度级别。
/////////////////////////////
对照程序中的用法:
_root.attachMovie(tu[i - 1], "h" + i, i);
表示将数组中 tu[i-1] 中包含的 idName 所代表的MC,以"h"+i 为新名称,附加到舞台上。 数组中分别包含了全部图片的链接名称,在应用时,应先给图片加上链接名。
该段代码用 if 语句和帧跳转语句构成循环,当n 小于21,也就是说透明度小于 n*5 ,也就是100,时,反复在第二帧和第三帧之间循环。透明度到了一百以后,进入到第五帧,这里可以多加一些空白帧,以使得图片多显示一会。之后在第五帧和第六帧之间产生循环,透明度逐渐减小,当n-- 等于零时,显示数组的下一张图片,并且回到主场景的第二帧。这就是该段代码的循环过程。
因为第一帧中 令 i=1 ,n =0,所以在最外围的循环时,是从第二帧开始的,这样,数组中下一张图片才得以显示,若要从第一帧开始循环,可以采用的方法有两个,一是在MC 的 Load 事件中给i 初始值,另一种方法是用 #initclip 和 #endinitclip 将整段代码包含起来,所起到的作用都是只在开始时执行一次。
0
评论
Comments
日志分类
首页
[295]
Flash游戏教程
[33]
Flash与飞行程序设计
[10]
Flash课件设计
[62]
Flash学习笔记
[74]
家住西安
[47]
编程资源
[69]