ActionScript实现雷达扫描遮罩效果
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-13
思路是用三角形动态的模拟扇形遮罩,不过并不是十分的完善。 需要事先将图片处理成圆形才能完成效果,当然,我想这一部工作并不复杂。代码的功能是从第一象限开始,以原点为顶点,角度为thta开始绘制等边三角形,将等边三角形的两条边之间的部分做为遮罩部分,(注意三角形要为填充图形),填充完第一象限以后,在填充第二象限的同时,要将第一象限的范围加入。 依此类推... 这个代码有一定的重用性,修改圆心坐标和半径,可以对不同位置和大小的圆形图片,进行扇形扫描遮罩的效果,半径需满足条件r>图片半径*1.42 AS代码: var ox=200; //原点x坐标 var oy=200; //原点y坐标 var r=150; //半径r var thta=0; //起始角度 _root.onEnterFrame=function() { if(thta<=(Math.PI/2)){ _root.createEmptyMovieClip("draw_1_mc",1); _root.draw_1_mc.moveTo(ox,oy); _root.draw_1_mc.lineStyle(2,0xff0000,100); _root.draw_1_mc.beginFill(0xff0000,100); _root.draw_1_mc.lineTo(ox,oy-r); _root.draw_1_mc.lineTo(ox+r*Math.sin(thta),oy-r*Math.cos(thta)); _root.draw_1_mc.lineTo(ox,oy); _root.draw_1_mc.endFill(); } else if(thta<=(Math.PI)){ ithta=thta-(Math.PI/2); _root.createEmptyMovieClip("draw_1_mc",1); _root.draw_1_mc.moveTo(ox,oy); _root.draw_1_mc.lineStyle(2,0xff0000,100); _root.draw_1_mc.beginFill(0xff0000,100); _root.draw_1_mc.lineTo(ox,oy-r); _root.draw_1_mc.lineTo(ox+r,oy); _root.draw_1_mc.lineTo(ox+r*Math.cos(ithta),oy+r*Math.sin(ithta)); _root.draw_1_mc.lineTo(ox,oy); _root.draw_1_mc.endFill(); } else if(thta<=(Math.PI*3/2)){ ithta=thta-(Math.PI); _root.createEmptyMovieClip("draw_1_mc",1); _root.draw_1_mc.moveTo(ox,oy); _root.draw_1_mc.lineStyle(2,0xff0000,100); _root.draw_1_mc.beginFill(0xff0000,100); _root.draw_1_mc.lineTo(ox,oy-r); _root.draw_1_mc.lineTo(ox+r,oy); _root.draw_1_mc.lineTo(ox,oy+r); _root.draw_1_mc.lineTo(ox-r*Math.sin(ithta),oy+r*Math.cos(ithta)); _root.draw_1_mc.lineTo(ox,oy); _root.draw_1_mc.endFill(); } else if(thta<=(Math.PI*2+0.01)){ ithta=thta-(Math.PI*3/2); _root.createEmptyMovieClip("draw_1_mc",1); _root.draw_1_mc.moveTo(ox,oy); _root.draw_1_mc.lineStyle(2,0xff0000,100); _root.draw_1_mc.beginFill(0xff0000,100); _root.draw_1_mc.lineTo(ox,oy-r); _root.draw_1_mc.lineTo(ox+r,oy); _root.draw_1_mc.lineTo(ox,oy+r); _root.draw_1_mc.lineTo(ox-r,oy); _root.draw_1_mc.lineTo(ox-r*Math.cos(ithta),oy-r*Math.sin(ithta)); _root.draw_1_mc.lineTo(ox,oy); _root.draw_1_mc.endFill(); } _root.pic.setMask(_root.draw_1_mc); //动态设置遮罩 _root.thta+=0.01; } 源文件:http://www.it365cn.com/upload/863.fla 未经作者同意,本教程请勿转载。 关键词:遮罩 扫描 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 动态文本的编写以及外部文本的载入下一篇: 制作齿轮旋转的动画
关于ActionScript实现雷达扫描遮罩效果的所有评论