您所在的位置:QQ首页 > 动画频道 > 特殊效果> 正文

纯AS的Loading预载画面效果四例三
http://flash.QQ.com   2006年 06月 25日 15:56   FLASH8  
下一个更精彩:遮罩的应用学习制作水飘字 I

三. egg616的Loading艺术之二

1、打开你要加Loading的动画,新建一个场景,并把它拖到最前面。

2、在最前面的场景的第一帧上加入下面的AS代码。

源代码: //Copyright: 吴杰兴 广东廉江

//本作品可随意复制或修改,但请注明原作者

stop();

sw = 550;

sh = 400;

//

Stage.showMenu = false;

//隐藏讨厌的右键菜单

cs = 60;

//网格的密集程度

r = 2550;

d = r/Math.SQRT2;

//网格的弯曲度

p = Math.PI;

//定义常数PI

createEmptyMovieClip("ln", 1);

ln.lineStyle(0, 0xffffff);

for (var i = 1; i<=cs; i++) {

ln.moveTo(sw/2+r*Math.cos(i/cs*p), -d+300+r*Math.sin(i/cs*p));

ln.lineTo(sw/2+r*Math.cos(i/cs*p+p/2), -d+300+r*Math.sin(i/cs*p+p/2));

}

//下面画个颜色渐变的底子

createEmptyMovieClip("bg", 0);

with (bg) {

colors = [0x6666ff, 0xffffff, 0x660099];

alphas = [30, 30, 80];

ratios = [0, 100, 200];

lineStyle(5, 0x00ff00);

matrix = {matrixType:"box", x:200, y:115, w:50, h:450, r:p/2};

beginGradientFill("linear", colors, alphas, ratios, matrix);

moveTo(-200-sw, -100);

lineTo(200+sw, -100);

lineTo(200+sw, 100+sh);

lineTo(-200, 100+sh);

lineTo(-200, -100);

endFill();

}

//

r1 = 50;

r2 = 170;

nu = 32;

//分别为中心圆的3个参数;

cr = 600;

//cr是填色半径

createTextField("te", 5, 75, 100, 160, 100);

te.textColor = 0x9900ff;

//创建文本显示下载的数据

function fo1(nam, de, ro) {

na = createEmptyMovieClip(nam, de);

with (na) {

_y = 40;

lineStyle(0, 0x000000, 0);

colors = [0x6666ff, 0xffffff, 0x660099];

alphas = [130, 130, 20];

ratios = [0, 120, 200];

matrix = {matrixType:"box", x:-cr/2, y:-cr/2, w:cr, h:cr, r:p/2};

beginGradientFill("radial", colors, alphas, ratios, matrix);

//这里用AS来渐变填充

moveTo(r1, 0);

var bl = Math.cos(p/nu);

for (var i = 1; i<=ro; i++) {

curveTo(r1*Math.cos(i*p/(nu/2)-p/nu)/bl, r1*Math.sin(i*p/(nu/2)-p/nu)

/bl, r1*Math.cos(i*p/(nu/2)), r1*Math.sin(i*p/(nu/2)));

}

lineTo(r2*Math.cos(ro*p/(nu/2)), r2*Math.sin(ro*p/(nu/2)));

for (var i = ro; i>=1; i--) {

curveTo(r2*Math.cos(i*p/(nu/2)-p/nu)/bl, r2*Math.sin(i*p/(nu/2)-p/nu)

/bl, r2*Math.cos((i-1)*p/(nu/2)), r2*Math.sin((i-1)*p/(nu/2)));

}

lineTo(r1, 0);

endFill();

}

}

//此函数用来画中间的圆环,其中圆环是用curverTo的方法作出,这里不作介绍,我将在下个教程中详述

onEnterFrame = function () {

ab = _root.getBytesLoaded();

bb = _root.getBytesTotal();

// 获取数据

sb = int(ab/bb*nu);

fo1("di", 4, sb);

di._x = 275;

di._y = 200;

di._yscale = 25;

di._rotation = -30;

// 调用函数作上面的圆环

fo1("yz", 3, sb);

yz._xscale = 100*Math.pow(3, 0.5)/2;

yz._yscale = 25;

yz._alpha = 30;

yz._x = 275;

yz._y = 360;

// 在下面再作一个透明的圆环,作为上一个的影子

if (ab>>>"

di.onPress = function() {

delete onEnterFrame;

te.removeTextField();

di.removeMovieClip();

yz.removeMovieClip();

ln.removeMovieClip();

bg.removeMovieClip();

play();

};

}

};

因为是纯AS的作品,就不再提供FLA文件了,下面是效果图(JPG格式的,比起SWF的差多了。)

纯AS的Loading效果四例

免费订阅】【发表评论】【动画论坛】【  】【关闭
发表评论
 QQ号码:
 QQ密码:
 验证码: 匿名发表
* 请各位网友遵纪守法并注意语言文明。
*《互联网电子公告服务管理规定》
*《全国人大常委会关于维护互联网安全的规定》




关于腾讯 | About Tencent | 服务条款 | 广告服务 | 腾讯招聘 | 腾讯公益 | 客服中心 | 网站导航
Copyright © 1998 - 2008 Tencent Inc. All Rights Reserved
腾讯公司 版权所有