Flash教程 随鼠标的旋转星星效果制作
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
成0来计算了,结果就是22.5,当你把N的值调大的时候,比如36它就会有36个星星围成一圈了,360/36*i也就是mc1角度是10*1,mc2的角度是10*2 ,mc3的角度是10*3当乘到37的时候它的角度多了10也就是370,第37个MC的角度会是原MC角度的370-360也就是10,这就是N的值等于一圈星星的原因。 我们在主场景第一帧里放的代码明明是拖动的MC0,为什么MC复制出来的影片会跟着鼠标走,把在AS第二帧设置X、Y坐标的循环代码拿下来分析一下: for(varj=1;j<=k;j++){ setProperty("_root.mc"+j,_x,_root["mc"+j]._x+(_root["mc"+(j-1)]._x-_root["mc"+j]._x)/2); setProperty("_root.mc"+j,_y,_root["mc"+j]._y+(_root["mc"+(j-1)]._y-_root["mc"+j]._y)/2); } 看它的X坐标, setProperty("_root.mc"+j,_x,_root["mc"+j]._x+(_root["mc"+(j-1)]._x-_root["mc"+j]._x)/2); setProperty这句话是说设置括号内(目标,目标的属性,该属性的值); 我们现在的目标就是主场景上面的mc1,mc2,mc3,mc4,mc5......mc64; 它们的X坐标值各是多少,为什么会跟随鼠标移动,我们来仔细地看下它们的值 _root.mc+i._x_root["mc"+j]._x+(_root["mc"+(j-1)]._x-_root["mc"+j]._x)/2 也就是 mc1._x=mc1._x+(mc+(j-1)._x-mc1._x)/2 假设mc1现在的坐标是300 也就是mc1._x=300+(mc+(j-1)._x-300)/2 现在我们已经得到两个数字了,还有一个mc+(j-1)._x,先算括号内,j-1第一次运行循环的时候j的值是1,就是1-1,也就是0;也就是mc+0,也就是mc0,也就是我们拖动的那个没有东西的影片剪辑。mc0是跟着我们的鼠标动的,上面搞清楚后,我们就在给mc0也就是我们鼠标的坐标假设一个值。随便设定一个我们就假设100吧,值有了我们在接着做算术。 mc1._x=300+(100-300)/2 也就是 mc1._x=300+负200/2 也就是 mc1._x=300+负100 //注意下负值是越乘负的越多,越除负的越少,加减相反 也就是 mc1._x=200; 当计算机运行到这里时,mc1的坐标是200了,但200还不符合我们所看到的效果,我们运行的时候是它的坐标是跟着鼠标走的,那么程序会接着往下走,它就会执行设定MC2的坐标了,MC2的坐标会是250,接着是MC3的坐标是275,总之是越往下它们坐标的间隔就会越小,你自己可以测试下看。 当循环完64次以后程序跳出循环了,那么就会TOGO到下一帧,执行gotoAndPlay(2); 又回来了,接着又是循环64次,代码还是相同的代码,不一样的是这次的坐标都是已经设置过的了,我们在看一下MC1现在的坐标是多少了,上次设置过后是200,那么现在是 mc1._x=200+(100-200)/2 也就是 150 这个坐标值会离鼠标越来越近的,直到和鼠标的坐标一样,那么相同后面的MC也一样会近,直到它们的坐标和鼠标相等为止,而且它们的坐标永远也不会小于鼠标的坐标。 关键词:旋转 鼠标 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Flash教程 随鼠标的旋转星星效果制作的所有评论