新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 媒体动画 > Flash教程 > 正文:纯ActionScript的Loading效果四例

纯ActionScript的Loading效果四例

新客网 XKER.COM 2006-11-16 来源: 收藏本文

可以按两次Ctrl+Enter进行下载测试,若对AS有恐惧症者,闭着眼睛复制—粘贴即可

下面是这个例子的效果图

三. 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(); 
}; 

}; 

共3页: 上一页 [1] [2] [3] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐