Flash 动态遮罩效果详解
2007-01-03 10:52:04 来源:WEB开发网核心提示: 在这里面你需要注要注意的是第一条和最后一条并不是曲线,而是直线,Flash 动态遮罩效果详解(6),所以你可将你的按制点放在任何地方,这也给我们增加了许多弹性空间,如果想在FLASHMX2004中运行,你需要在定义一下animIndex在animDir=1;下面加入一行var animIn
在这里面你需要注要注意的是第一条和最后一条并不是曲线,而是直线,所以你可将你的按制点放在任何地方,这也给我们增加了许多弹性空间。在后面你将会看到。
变形形体
我们必须要掌握将一个形体变为另一个形体,比如蓝色形状变为红色形状,这个看起来比较麻烦,实际上很简单,就象一个物体从A点移到B点是一个性质。我们将移到第一条曲线的三个点至第二条曲线三个点的位置,下面我们来看一下例子,将曲线c变形为曲线J。
代码:
//Create movie clip and mask
//counter = -1;
//创建遮罩
_root.createEmptyMovieClip('line', 0);
animInt = setInterval(doAnim, 17);
animDir = 1;//用来控制方向的变量
//定义函数
function doAnim()
{
var currMC = _root.line;
var time = animIndex/60;
var dist = time;
with(currMC)
{
//c曲线的位置: (150, 25), (25,100), (150,175)
//j曲给的位置: (150, 25), (125,200), (50,125)
clear();
lineStyle(0x000000);
moveTo(150,25);
curveTo(25+100*dist,100+100*dist,150-100*dist, 175-50*dist);
}
animIndex += animDir;
if(animIndex >= 60)
{
animDir = -1
}
if(animIndex <= 0)
{
animDir = 1
}
}
这段代码中是将c曲(150,25)(25,200),(150,175)变形为J曲线(150, 25), (125,200), (50,125)
注意,这段代码只能在FLASHMX中运行。如果想在FLASHMX2004中运行,你需要在定义一下animIndex在animDir=1;下面加入一行var animIndex=0;测试你的影片,观看结果。
更多精彩
赞助商链接