Flash实现动态遮罩:图片渐出效果

动态

  演示效果:

点击这里下载源文件

//-------------------------------------------------------------------
//as代码如下;被遮罩图片mc名称为img-mc;

//特点自动适应图片大小,自动判断子遮罩个数,可随意修改子遮照大小;
//-------------------------------------------------------------------
//
Stage.showMenu = false;
Stage.scaleMode = "noScale";
fscommand(allowscale, true);
createEmptyMovieClip("mask", -1);
mask.createEmptyMovieClip("mask0", -2);
with (mask.mask0) {
beginFill(0xcccccc, 100);
moveTo(0, 0);
lineTo(0, 100);
lineTo(100, 100);
lineTo(100, 0);
lineTo(0, 0);
endFill();
_width = 1;
_height = 1;
}
//以上为创建mask元件和mask0子元件,这两个元件就是用于遮罩图片的。
mask._x = img_mc._x=0;
mask._y = img_mc._y=0;
img_mc.setMask(mask);
//以上为设置遮罩和遮罩层的位置;
maskNum = 0;
//初始化遮罩子元素的个数;
box = 40;
//初始化子遮罩正方形的边长;
lNum = Math.ceil(img_mc._width/box)+1;
//获得被遮罩图片的一行需要多少个子遮罩;
cNum = Math.ceil(img_mc._height/box)+1;
//获得被遮罩图片的一列需要多少个子遮罩;
maxNum = lNum*cNum;
//得到子遮罩元件的总数;
var myArray = new Array();
//定义数组;
for (i=0; i<cNum; i++) {
myArray[i] = [];
for (j=0; j<lNum; j++) {
myArray[i].push(i*lNum+j+1);
//该两个循环生成一个二维数组用于存储子遮罩的行和列的编号。
}
}
for (i=0; i<cNum; i++) {
if (i%2 == 0) {
myArray[i];
} else {
myArray[i] = myArray[i].sort(order);
//当遇到奇数行的时候,倒排子遮罩的编号;该方法是为了让子遮罩从右到左产生;
}
for (j=0; j<lNum; j++) {
with (mask) {
masks = mask0.duplicateMovieClip("mask"+(myArray[i][j]), myArray[i][j]);
//根据元件mask0复制出子遮罩,并将名称存入masks数组;
masks._x = j*(box-1);
//设置单个子遮罩的x和y坐标值,将其平铺在整个被遮罩图片上;
masks._y = i*(box-1);
//
masks.xs = i;
//设置自遮罩在二为数组myArray中的编号;
masks.ys = j;
masks._width = 0;
//初始化子遮罩不可见;
masks._height = 0;
//
masks.onEnterFrame = function() {
if (_root.myArray[this.xs][this.ys] == _root.maskNum) {
this.mcZoom();
//执行子遮罩缩放动画;
}
};
}
}
}
_root.onEnterFrame = function() {
if (maskNum<=maxNum) {
_root.maskNum++;
//递加子遮罩个数;
}
};
function order(a, b) {
//该函数用于降幂排序数组;
if (a>b) {
return -1;
} else if (a<b) {
return 1;
} else {
return 0;
}
}
MovieClip.prototype.mcZoom = function() {
//子遮罩动画部分;
this.onEnterFrame = function() {
this._width += (box-this._width)/10;
this._height += (box-this._height)/10;
};
};

时间: 2024-12-21 11:47:40

Flash实现动态遮罩:图片渐出效果的相关文章

jQuery使用fadein方法实现渐出效果实例

 这篇文章主要介绍了jQuery使用fadein方法实现渐出效果的方法,以一个简单实例形式分析了jQuery中fadein方法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery使用fadein方法实现渐出效果的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码通过jQuery的fadein方法控制指定色块逐渐显示的功能 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

jQuery使用fadein方法实现渐出效果实例_jquery

本文实例讲述了jQuery使用fadein方法实现渐出效果的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码通过jQuery的fadein方法控制指定色块逐渐显示的功能 <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("

JS实现的仿QQ空间图片弹出效果代码_javascript技巧

本文实例讲述了JS实现的仿QQ空间图片弹出效果代码.分享给大家供大家参考,具体如下: <script type="text/javascript"> function imageShow(which_click) { var image_path = which_click; //alert(image_path); var tag_top = Math.max(document.documentElement.scrollTop, document.body.scroll

NSIS:实现程序窗口逐渐透明的渐入渐出效果

原文NSIS:实现程序窗口逐渐透明的渐入渐出效果 需要修改版的插件(支持timer功能): MUI:InstallOptions.dll MUI2:nsDialogs.dll 以及system插件,(受api限制)只能运行于2k或者更高的平台之上.   轻狂说明: 请在相应目录下建立transparent.ini文件. 001 /* 002 <a href="http://www.flighty.cn" target="_blank">www.fligh

MASM32编程实现窗口渐入渐出效果

因为工作太忙,好久没写程序代码了,不过编写程序的乐趣令我乐此不疲. 天天跟电脑打交道,一忙起来就忘了休息,弄得眼睛都花了~ 为了保护眼睛,偶决定写一个定时强制休息的程序~ 虽然现在这类程序已有不少,不过DIY一下还是不错的~ 先考虑实现倒计时提示窗口,打算让该窗口渐入渐出~ 这里用封装在user32.dll中的API函数AnimateWindow来实现. 函数原型为: BOOLAnimateWindow( HWNDhwnd,//指定产生动画窗口的句柄: DWORDdwTime,//指明动画持续的

使用jQuery制作遮罩层弹出效果的极简实例分享_jquery

客户的网站上突然需要一个遮罩弹窗效果,也可以称作暗箱之类的,具体效果就是网页中背景变成半透明,然后在屏幕中间出现一个菜单之类的东西.这种效果在网上很常见,例如:QQ空间浏览相册等.这种效果的好处就是,可以让用户聚焦到弹出的菜单中. 神说,有代码的文章,应该有个 Demo ,于是就有了Demo. HTML 结构 首先先来分析一下这个过程:触发某个事件(例如点击按钮),然后出现一个背景遮罩上面还有一个内容层.触发的按钮,我在这里用 div 来代替,并且使用 click 点击事件来演示.那么我们的 H

js实现遮罩层划出效果是生成div而不是显示_javascript技巧

同遮盖层划入一样,单纯的遮盖层划出的话算的上是非常简单了,但是在这里它却就不这么简单了,而且我前面还选了个比较麻烦的生成div,而不是显示存在的div,这里有那么几点需要特别注意: 1.遮盖层出现后,鼠标哪怕不动,也已经是在遮盖层上,已经不再给出的div区域了,所以注意监听的位置: 2.onmouseout和onmouseover都是瞬时触发的,这点很重要: 3.在实际应用中,已存在的div的显示比临时创建肯定要有效的多: 这样我还是上一下代码吧,其实之前的地方没怎么变,我只记录改变的地方,那就

javascript图片渐显效果代码_图象特效

在<head>到</head>之间插入如下的JAVASCRIPT代码: 在要插入的图片添加如下代码: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] *其中onMouseOver=nereidFade(this,50,10,4)中 style="FILTER: alpha(opacity=50)"表示图片的透明度为50% 

MFC渐入渐出框实现方式二

类似360消息弹出框,实现方式一见http://blog.csdn.net/segen_jaa/article/details/7848598. 本文采用另外的API实现渐入渐出效果. 主要API:SetLayeredWindowAttributes. 实现功能: 采用管理器控制消息框每次只显示一个. 消息框独立显示在右下角,不随主窗口放大缩小变化. 鼠标进入消息框区域,渐入渐出效果停止. 1.消息框实现 创建对话框类CMsgTipDlg,设置对话框属性. Tool Window:true.设置