2016-10-13 00:16:48 点击量:11 标签: 收藏本文
[AS3]AS3.0开发绘图板过程,一个绘图板,今天发今天做的部分,以后做新部分又更新。过程代码如下,详细过程偶就不写了,上班中……,不明白或者有改进的同学大家就跟帖吧
- //绘图
- package {
- import flash.display.*;
- import flash.events.*;
- import flash.utils.*;
- public class drawTest extends Sprite {
- //绘图层
- var drawStage:Sprite=new Sprite();
- //绘图缓存层
- var drawBuff:Sprite=new Sprite();
- //现在绘图的状态
- var isDraw:Boolean=false;
- //绘制直线的开始坐标
- var lineX:Number;
- var lineY:Number;
- //线条的粗细
- var lineSize:Number=1;
- //线条的颜色
- var lineColor:Number=0x000000;
- //缓存重绘定时器
- var buffTime:Timer=new Timer(50,0);
- public function drawTest () {
- //添加绘图层与缓存层,绘图层在下,缓存层在上
- addChild (drawStage);
- addChild (drawBuff);
- drawStage.graphics.beginFill (0x00ff99,0);
- drawStage.graphics.drawRect (0, 0, 800, 600);
- drawStage.graphics.endFill ();
- setChildIndex (drawStage,0);
- setChildIndex (drawBuff,1);
- //鼠标事件
- addEventListener (MouseEvent.MOUSE_DOWN ,stageMouseDownHandle);
- //在缓存里频率性的画图
- buffTime.addEventListener ("timer",buffDrawTimeHandle);
- buffTime.start ();
- }
- //CuPlayer.com鼠标按下
- private function stageMouseDownHandle (event:Event):void {
- if (!isDraw) {
- //取直线的起点
- lineX=mouseX;
- lineY=mouseY;
- isDraw=true;
- } else {
- //绘制一条直线在背景上
- drawStage.graphics.lineStyle (lineSize,lineColor);
- drawStage.graphics.moveTo (lineX,lineY);
- drawStage.graphics.lineTo (mouseX,mouseY);
- isDraw=false;
- }
- }
- //CuPlayer.com缓存重绘
- private function buffDrawTimeHandle (event:Event):void {
- drawBuff.graphics.clear ();
- if (isDraw) {
- //CuPlayer.com在缓存里画直线
- drawBuff.graphics.lineStyle (lineSize,lineColor);
- drawBuff.graphics.moveTo (lineX,lineY);
- drawBuff.graphics.lineTo (mouseX,mouseY);
- }
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室