dynamic mask动态遮罩[高级]
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-12
|
:
代码: |
|
onClipEvent(load) { numY = 30; numX = 40; numPerFrame = 12; currSquare = 0; choices = new Array(); for(i = 0; i < numX*numY; i++) { choices.push(i); }
_root.createEmptyMovieClip("mask", 0); this.setMask(_root.mask);
function drawSquare(x,y) { with(_root.mask) { moveTo(x,y); beginFill(0x000088) lineTo(x+10,y); lineTo(x+10,y+10); lineTo(x,y+10); endFill(); } } } onClipEvent(enterFrame) { if(currSquare < numX*numY) { for(i = 0; i < numPerFrame; i++) { j = random(choices.length); t = choices[j]; choices[j] = choices[choices.length - 1]; choices.pop(); x = t % numX; y = Math.floor( t / numX ); drawSquare(x*10, y*10); } currSquare += numPerFrame; this._alpha = currSquare/(numX*numY)*100; }
|
|
测试你影片,你会发现随机出的10*10像素的方形会不断的出现在屏幕上,同时图片淡出
观看演示3 http://www.webstudio.com.cn/forum/showthread.php?p=66#post66
影片3:扇形LOADING
接下我们要使用动态遮罩制作一个扇面LODING。最后的样子大致为: 首先,你必须下面的这张图片的三角函数。
在上面图的坐标分别为:
代码: |
|
x1 = r*sin(O) x2 = r*sin(O+dO) y1 = r*cos(O) y2 = r*cos(O+dO)
|
| 原理就是绘制出圆的1/100也就是3.6度,也就是说我们需要绘一个三角形,然后不断的绘制,直到100. 你需要先在场景中创建圆形,转换为影片剪辑,同时要注意的问题是你必须在这个影片剪辑的内部将其中心对齐。这一点是很重要的。
选择圆形剪辑,加入如下代码:
代码: |
|
onClipEvent(load) { _root.stop(); dO = 3.6; r = 75; function addSlice(O) { x1 = r*Math.sin(O*Math.PI/180); x2 = r*Math.sin((O+dO)*Math.PI/180); y1 = r*Math.cos((O)*Math.PI/180); y2 = r*Math.cos((O+dO)*Math.PI/180); trace(x1 + ":" + y1); with(_root.mask) { moveTo(0,0); beginFill(0x000088); lineTo(x1,y1); lineTo(x2,y2); endFill(); } } _root.createEmptyMovieClip("mask",0); this.setMask(_root.mask); _root.mask._yscale = -100; _root.mask._x = this._x; _root.mask._y = this._y; oldLoaded = 0; } onClipEvent(enterFrame) { loaded = Math.ceil(_root.getBytesLoaded()/_root.getBytesTotal()*100); for(i = oldLoaded; i < loaded; i++) { addSlice(dO*i); } oldLoaded = loaded; }
|
| 在上面的代码中_root.mask._yscale=-100是用来按制方向的,正向还是反向,同时我们注意到有两个变量,oldloaded和loaded.之所以有oldloade是为了存放我们之前下载的数值。 好,现在可以测试你的影片了。为了看到效果,你可以边续按两次回车。
观看演示4 http://www.webstudio.com.cn/forum/showthread.php?p=66#post66
关键词:遮罩
【内容导航】 |
第1页:dynamic mask动态遮罩高级
|
第2页:dynamic mask动态遮罩II高级
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|