- 25
- 0
- 约8.27千字
- 约 5页
- 2017-04-11 发布于江苏
- 举报
使用flash as3代码来画图
通过AS3.0可以方便的在场景中绘制各种图形,相对于提前绘制编译好的图形,使用代码绘制图形意为着更小的文
件尺寸,更加灵活的绘制和交互性。
Flash中的绘图是通过Graphics来实现的,Graphics类是直接继承了Object类,具有很多的绘图方法,大致分为
两类:
一是定义绘图样式的方法 二是用于绘制和清除图形的方法。
有关样式的方法包括线条的样式和填充样式两类。
有关绘图方法包括绘制和绘制开头两类。
绘图:通过 Shape 对象的 graphics 属性来执行矢量绘图命令
1、使用 lineStyle() 定义画图的线条样式
2、moveTo() - 设置当前绘画点;
lineTo() - 以当前绘画点为起点,用当前定义的线条样式,画一条直线到目标点;
curveTo() - 指定二次贝塞尔曲线的控制点和终点,从而完成曲线的绘制;
drawRect() - 绘制矩形;
drawCircle() - 绘制圆形;
drawEllipse() - 绘制椭圆;
3、beginFill() 和 endFill() 用于填充他们之间所绘制的图形。
beginGradientFill 和 endFill() 用于渐变填充对应的方法。
转换:通过设置对象的 transform.matrix 属性,对其做相应的转换
Matrix.rotate() - 旋转的角度
Matrix.translate() - 平移的距离
Matrix.scale() - 缩放的比例
Matrix.b - 将矩阵垂直倾斜
Matrix.c - 将矩阵水平倾斜
一般来说要使用类的属性、方法和事件,需要先创建类的实例,但是Graphics类不允许用户自己来创建实例,那
么如何使用Graphics类的方法?
在显示类Shape类和Sprite类中,有一个Graphics属性,这个属性就是Graphics类的实例。也就是说要使用
Graphics类的方法,不能直接创建
Graphics类的实例,而是先创建Shape类或Sprite类的实例,此时的显示实例就具有Graphics,而Graphics属性是
Graphics类的实例,通过
Graphics属性就可以调用绘图的方法。
另外,由于MovieClip类继承了Sprite类,所以也可以在MovieClip类的实例中绘图。在实际应用中应该使用
Shape类来绘制图形,因为Shape类只有graphics属性和构造方法,所以绘制图形的效率更高。只有需要图形的交
互功能时,再使用Sprite类和MovieClip类。
编写绘图代码也要讲技巧
如三角形的代码:(使用前80后的绘制三角形代码)
this.graphics.lineStyle(2, 0x990000, .75);
this.graphics.beginFill(0x00FF00);
this.graphics.moveTo(100,200);
this.graphics.lineTo(200,100);
this.graphics.lineTo(0,100);
this.graphics.lineTo(100,200);
代码中的this引用主时间轴,主时间轴是MovieClip类的实例,所以this具有graphics属性,通过点语法就能访问
graphics属性。同时,graphics属性又引用Graphics类的实例,通过点语法就能调用方法。
如果像上面的类似代码很多,需要重复编写this.graphics,这样的代码,而且点语法的运算速度也不是很快。
就要对它进行优化。
使用with()函数来简化:
with(this.graphics)
{
graphics.lineStyle(2, 0x990000, .75);
graphics.beginFill(0x00FF00);
graphics.moveTo(100,200);
graphics.lineTo(200,100);
graphics.lineTo(0,100);
graphics.lineTo(100,200);
}
利用with()函数,只需访问一次this.graphics属性,就可以多次调用绘图方法。
使用自定义函数简化:
drawLine(this.graphics)
function drawLine(g:Graphics):void
{
g.lineStyle(2,
您可能关注的文档
最近下载
- 关节置换课件.pptx VIP
- 脉冲微分方程边值问题解的存在性:理论与应用新探.docx VIP
- 2025高考物理步步高同步练习必修3第十章电势差与电场强度的关系含答案.docx VIP
- 人教版高中数学必修一章节思维导图全套.pdf VIP
- 深度解析(2026)《GAT 147-2019法医学 尸体检验技术总则》.pptx VIP
- 变分法研究几类分数阶脉冲微分方分程边值问题解的存在性.docx VIP
- 《中小学生欺凌防治制度机制指引》全文.pdf VIP
- 普通话水平考必试读词语表.doc VIP
- 汽车租赁合同模板范本.docx VIP
- 2025高考物理步步高同步练习选修1第一章 动量专题强化3 弹簧—小球模型 滑块—光滑斜(曲)面模型含答案.docx VIP
原创力文档

文档评论(0)