今天一边看着电视,一边在做flash 相关的兴趣实验,糊涂地发现一种叠加的图案,效果还不错,于是就想记下来。绘图API 里面可以变化千万种,在程序使用的时候,忽然会对这种绘图产生一种爱好,这种可能就是一种flash 的魅力所在。有时候一个程序很简单,但是往往创造出来的东西,特别是线条会呈现一种美态。这个时候,很想去将其记录下来。下面的程序很简单,我们所用到的东西并不复杂,甚至说老掉牙的东西了。我个人很喜欢通过复制让一些图像产生一种特别的效果。这种效果是通过图形叠加起来产生的一种图案。
下面习惯例牌上图。
你会问,这种图案是怎样做出来的?其实很简单。思路:通过复制一大堆的圆
var per:Number = 2 * Math.PI / 100;
for (var i:int=0; i<100; i++)
{
var circle:Sprite=new Sprite();
circle.graphics.lineStyle(0,0x0099FF);
circle.graphics.drawCircle(0,0,100);
circle.x=Math.cos(i*per)*100+275;
circle.y=Math.sin(i*per)*100+200;
addChild(circle);
}
代码的就几行,叠加起来的图案就能呈现上面的效果了。在实验过程当中,往往会做出一些意外的收获。
var per:Number = 2 * Math.PI / 100;
for (var i:int=0; i<100; i++)
{
var circle:Sprite=new Sprite();
circle.graphics.lineStyle(0,0x0099FF);
circle.graphics.drawEllipse(0,0,100,100);//改变了这种绘图APi之后
circle.x=Math.cos(i*per)*100+225;
circle.y=Math.sin(i*per)*100+150;
addChild(circle);
}
![](http://hi.csdn.net/attachment/201202/26/0_1330268094iSz1.gif)
var per:Number = 2 * Math.PI / 100;
for (var i:int=0; i<100; i++)
{
var circle:Sprite=new Sprite();
circle.graphics.lineStyle(0,0x0099FF);
circle.graphics.drawRoundRect(0,0,100,100,18,18);
circle.x=Math.cos(i*per)*100+225;
circle.y=Math.sin(i*per)*100+150;
addChild(circle);
}
种种迹象表明其实代码一点都没有多大的难度,只是变化这种函数之后,一种图案就会产生出来。
后面的多尝试一下改变函数式,你会慢慢发现效果会很多,图案变化会让你非常惊喜。