一个XML加载图片的遮罩效果,研究好半天呢!
时间:2007-06-30
来源:互联网
不是我的创意,是仿造人家的作品做的。
下面直接引用 闪吧的源文件地址:
http://space.flash8.net/bbs/attachment.php?aid=327384
复制内容到剪贴板
var list_xml:XML = new XML();
list_xml.ignoreWhite = true;
list_xml.onLoad = function(success:Boolean) {
if (success) {
for (var aNode:XMLNode = list_xml.firstChild.childNodes[0]; aNode != null; aNode=aNode.nextSibling) {
list_array.push(aNode.firstChild.firstChild.nodeValue);
}
loadpic_func();
} else {
trace("加载失败!");
}
};
list_xml.load("pic_list.xml");
///////////////
var pic_mcl:MovieClipLoader = new MovieClipLoader();
this.onLoadInit = function(_mc:MovieClip) {
_mc._width = Stage.width;
_mc._height = Stage.height;
mask_func(_mc);
};
pic_mcl.addListener(this);
var i:Number = 0;
function loadpic_func() {
i++;
i %= list_array.length;
var pic_mc:MovieClip = this.createEmptyMovieClip("pic_mc"+this.getNextHighestDepth(), this.getNextHighestDepth());
pic_mcl.loadClip(list_array, pic_mc);
/*
this.pic_mc._x = Stage.width/2;
this.pic_mc._y = Stage.height/2;
this.pic_mc.createEmptyMovieClip("img_mc", 3);
this.pic_mc.img_mc._x = -Stage.width/2;
this.pic_mc.img_mc._y = -Stage.height/2;
*/
}
var mask_num:Number = new Number();
var xmax:Number = Math.ceil(Stage.width/40);
var ymax:Number = Math.ceil(Stage.height/40);
function mask_func(_mc:MovieClip) {
var depth:Number = xmax*ymax;
var mask_mc:MovieClip = this.createEmptyMovieClip("mask_mc"+this.getNextHighestDepth(), this.getNextHighestDepth());
_mc.setMask(mask_mc);
mask_num = Math.floor(Math.random()*6);
for (var x_num:Number = xmax; x_num>=0; x_num--) {
for (var y_num:Number = ymax; y_num>=0; y_num--) {
mask_mc.attachMovie("mask_mc"+mask_num, "mask"+depth, depth+100, {_x:x_num*50-150, _y:y_num*50-100, _xscale:250, _yscale:250});
depth--;
}
}
texiao_func(mask_mc);
}
////////////////////////////////////////////
function texiao_func(_mc:MovieClip) {
var texiao_array:Array = new Array();
var max_num:Number = new Number();
var temp_num:Number = new Number();
var zhu_num:Number = Math.floor(Math.random()*6);
trace(zhu_num);
if (zhu_num == 0) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(x_n+y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 1) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(xmax+ymax-x_n-y_n+1);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 2) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(ymax-x_n+y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 3) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(xmax+x_n-y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 4) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(x_n);
}
texiao_array.push(xn_array);
}
max_num = ymax+2;
} else if (zhu_num == 5) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+2;
}
function fan_func() {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
if (texiao_array[x_n][y_n] == temp_num) {
var xu:Number = x_n*xmax+y_n;
_mc["mask"+xu].play();
//trace(xu);
}
}
}
temp_num++;
if (temp_num>max_num) {
clearInterval(id);
}
}
fan_func();
clearInterval(id);
id = setInterval(fan_func, 80);
this["mask_mc"+(_mc.getDepth()-4)].removeMovieClip();
this["pic_mc"+(_mc.getDepth()-5)].removeMovieClip();
setTimeout(function () {
loadpic_func();
}, 3000);
}
这次直接不上传源文件了,知道经典会提示“你的附件超过限制”。代码:
var list_array:Array = new Array();var list_xml:XML = new XML();
list_xml.ignoreWhite = true;
list_xml.onLoad = function(success:Boolean) {
if (success) {
for (var aNode:XMLNode = list_xml.firstChild.childNodes[0]; aNode != null; aNode=aNode.nextSibling) {
list_array.push(aNode.firstChild.firstChild.nodeValue);
}
loadpic_func();
} else {
trace("加载失败!");
}
};
list_xml.load("pic_list.xml");
///////////////
var pic_mcl:MovieClipLoader = new MovieClipLoader();
this.onLoadInit = function(_mc:MovieClip) {
_mc._width = Stage.width;
_mc._height = Stage.height;
mask_func(_mc);
};
pic_mcl.addListener(this);
var i:Number = 0;
function loadpic_func() {
i++;
i %= list_array.length;
var pic_mc:MovieClip = this.createEmptyMovieClip("pic_mc"+this.getNextHighestDepth(), this.getNextHighestDepth());
pic_mcl.loadClip(list_array, pic_mc);
/*
this.pic_mc._x = Stage.width/2;
this.pic_mc._y = Stage.height/2;
this.pic_mc.createEmptyMovieClip("img_mc", 3);
this.pic_mc.img_mc._x = -Stage.width/2;
this.pic_mc.img_mc._y = -Stage.height/2;
*/
}
var mask_num:Number = new Number();
var xmax:Number = Math.ceil(Stage.width/40);
var ymax:Number = Math.ceil(Stage.height/40);
function mask_func(_mc:MovieClip) {
var depth:Number = xmax*ymax;
var mask_mc:MovieClip = this.createEmptyMovieClip("mask_mc"+this.getNextHighestDepth(), this.getNextHighestDepth());
_mc.setMask(mask_mc);
mask_num = Math.floor(Math.random()*6);
for (var x_num:Number = xmax; x_num>=0; x_num--) {
for (var y_num:Number = ymax; y_num>=0; y_num--) {
mask_mc.attachMovie("mask_mc"+mask_num, "mask"+depth, depth+100, {_x:x_num*50-150, _y:y_num*50-100, _xscale:250, _yscale:250});
depth--;
}
}
texiao_func(mask_mc);
}
////////////////////////////////////////////
function texiao_func(_mc:MovieClip) {
var texiao_array:Array = new Array();
var max_num:Number = new Number();
var temp_num:Number = new Number();
var zhu_num:Number = Math.floor(Math.random()*6);
trace(zhu_num);
if (zhu_num == 0) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(x_n+y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 1) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(xmax+ymax-x_n-y_n+1);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 2) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(ymax-x_n+y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 3) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(xmax+x_n-y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+ymax+2;
} else if (zhu_num == 4) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(x_n);
}
texiao_array.push(xn_array);
}
max_num = ymax+2;
} else if (zhu_num == 5) {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
var xn_array:Array = new Array();
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
xn_array.push(y_n);
}
texiao_array.push(xn_array);
}
max_num = xmax+2;
}
function fan_func() {
for (var x_n:Number = 0; x_n<=ymax; x_n++) {
for (var y_n:Number = 0; y_n<=xmax; y_n++) {
if (texiao_array[x_n][y_n] == temp_num) {
var xu:Number = x_n*xmax+y_n;
_mc["mask"+xu].play();
//trace(xu);
}
}
}
temp_num++;
if (temp_num>max_num) {
clearInterval(id);
}
}
fan_func();
clearInterval(id);
id = setInterval(fan_func, 80);
this["mask_mc"+(_mc.getDepth()-4)].removeMovieClip();
this["pic_mc"+(_mc.getDepth()-5)].removeMovieClip();
setTimeout(function () {
loadpic_func();
}, 3000);
}
下面直接引用 闪吧的源文件地址:
http://space.flash8.net/bbs/attachment.php?aid=327384
作者: nang 发布时间: 2007-06-30
不错,嗯,不错
作者: unmen 发布时间: 2007-06-30
这个里面的图,爆寒
作者: 623webmaster 发布时间: 2007-07-01
效果非常好,就是图片有些变形,还有就是如果内面的女孩再倩些就更好
之前学习过动力男孩的一篇教程,现在回忆起来也做了一个简单淡入淡出效果
图片没传上,请自行下载几个图片放到images文件夹内,将图片的名字改为与xml文件内的名称一致
mytest1.rar (67.48 KB)

之前学习过动力男孩的一篇教程,现在回忆起来也做了一个简单淡入淡出效果
图片没传上,请自行下载几个图片放到images文件夹内,将图片的名字改为与xml文件内的名称一致
附件

2007-7-1 10:35, 下载次数: 114
作者: winhero_charles 发布时间: 2007-07-01
谢谢,这个怎么用啊?
作者: WALKNET 发布时间: 2010-12-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28