点击浏览该文件 class myClass.Draw.DrawGrid extends MovieClip {
// 把格子画在一个mc里面
private var _mc:MovieClip;
// 要画的横纵格数
private var _rows:Number;
private var _cols:Number;
// 网格的上下左右边界
private var _left:Number;
private var _right:Number;
private var _top:Number;
private var _bottom:Number;
// 线条属性
private var _lineColor:Number;
private var _lineSize:Number;
private var _lineAlpha:Number;
function DrawGrid(mc:MovieClip, rs:Number, cs:Number, t:Number, b:Number, l:Number, r:Number, ls:Number, lc:String, la:Number) {
_mc = mc;
_rows = rs;
_cols = cs;
_top = t;
_bottom = b;
_left = l;
_right = r;
_lineColor = Number(lc);
_lineSize = ls;
_lineAlpha = la;
}
// 计算每条横线的间隔
public function vertiDis():Number {
return (Math.abs(_bottom-_top)/_rows);
}
// 计算每条纵线的间隔
public function horiDis():Number {
return (Math.abs(_right-_left)/_cols);
}
// 清理掉所有的线条
public function clearLines():Void {
_mc.clear();
}
// 画横线
public function gotHoriLines():Void {
var dis:Number = vertiDis();
_mc.lineStyle(_lineSize, _lineColor, _lineAlpha);
var i = -1;
// 格子是由比格子数多一条线组成的(4线3行)
while ((++i)<(_rows+1)) {
var ypos:Number = _top+dis*i;
_mc.moveTo(_left, ypos);
_mc.lineTo(_right, ypos);
}
}
// 画纵线
public function gotVertiLines():Void {
var dis:Number = horiDis();
_mc.lineStyle(_lineSize, _lineColor, _lineAlpha);
var i = -1;
// 格子是由比格子数多一条线组成的(4线3行)
while ((++i)<(_cols+1)) {
var xpos:Number = _left+dis*i;
_mc.moveTo(xpos, _top);
_mc.lineTo(xpos, _bottom);
}
}
// 画网格
public function gotGrid():Void {
gotHoriLines();
gotVertiLines();
}
}
本来里面的算间隔使用get函数的,因为当时看一个教程的时候发现,get和set比较特殊,正好用上,谁知道用了才知道,原来get和set函数只能提供给实例使用,类中不能自己使用-w-