画格子类
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
|
点击浏览该文件
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-
关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|