您的位置:首页 > 其它

flash 绘图API:绘制错误标记

2010-10-29 21:55 369 查看




利用APi,今天也随便写了一个程序,当做是小练习。写个错误的标记。看起来有的像以前的金币了,呵呵我都觉,要是换成了金币那该多好呢?好吧,今晚所写的的大概思路,

第一步:通过绘制四个矩形,和外的圆环进行组合,

绘制矩形,使用drawRect 的方法进行绘制,在绘制的时候恰当把他注册点位置移动到宽的一半。

我们需要绘制四个,每一个偏转 分别是0,90,270,360的角度 ,产生出来的图形是十字的方式,我们需要将它们偏移45度就能产生上面 的图片。

填充圆环的时候,我们只需要绘制两个圆

sprite.graphics.lineStyle(0,fillColor);
sprite.graphics.beginFill(fillColor);
sprite.graphics.drawCircle(0,0,height);
sprite.graphics.drawCircle(0,0,height+height/6);
sprite.graphics.endFill();

这样就能够填充出一个圆环。

你可以通过组合这些矩形产生更多的效果。

/*ErrorMark.as 该类为错误标记类
*vesion 1.0
*author 夏天的树人
*/
package
{
import flash.display.Shape;
import flash.display.Sprite;
public class ErrorMark extends Sprite
{

public function ErrorMark()
{

}

public function clone():ErrorMark
{
return new ErrorMark();
}
public function move(x:Number,y:Number):void
{
this.x=x;
this.y=y;
}

public function CreatErrorMark(width:Number,height:Number,fillColor:uint=0x666666,alpha:Number=1):void
{
for (var i:int=0; i<4; i++)
{
var sprite:Shape=new Shape();
sprite.graphics.beginFill(fillColor);
sprite.graphics.drawRect(-width/2,0,width,height);
sprite.graphics.endFill();

sprite.rotation=i*90+45;
if (i==3)
{
sprite.graphics.lineStyle(0,fillColor);
sprite.graphics.beginFill(fillColor);
sprite.graphics.drawCircle(0,0,height);
sprite.graphics.drawCircle(0,0,height+height/6);
sprite.graphics.endFill();
}
this.addChild(sprite);
}
}
}
}


代码测试:

var mark:ErrorMark=new ErrorMark();
mark.CreatErrorMark(40,160,0xffffff);
mark.filters=[new GlowFilter(0x333333)];//添加滤镜
addChild(mark);
mark.move(200,200);//移动位置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: