AS3 精进中,发现graphics.drawPath()这个方法相当好用,于是写了一个小例子。
package
{
import flash.display.Sprite;
import flash.display.Graphics;
import flash.display.StageAlign;
[SWF(backgroundColor=0xfffff0,width=500,height=500)]
public class ChessBoard extends Sprite {
private var cellSize:Number = 50;
private var count:int = 5;
private var g:Graphics;
private var datas:Vector.<Number>;
private var commands:Vector.<int>;
public function ChessBoard() {
stage.align = StageAlign.TOP;
g = graphics;
g.clear();
datas= new Vector.<Number>();
commands = new Vector.<int>();
for(var i:int = 0;i<count;i++){
commands.push(1,2,2,2,2);
var initY:Number = cellSize*i*2;
datas.push(0,initY,
count*cellSize*2,initY,
count*cellSize*2,initY+cellSize,
0,initY+cellSize,
0,initY);
commands.push(1,2,2,2,2);
var initX:Number = cellSize*i*2;
datas.push(initX,0,
initX, count*cellSize*2,
initX+cellSize,count*cellSize*2,
initX+cellSize,0,
initX,0);
}
g.beginFill(0x000000);
g.drawPath(commands,datas);
}
}
}