您的位置:首页 > 其它

用AS3做最简单的绘图版

2010-02-27 18:42 190 查看
步骤:

画板->图形

var 画板:Sprite;

画板.drawRect;//画背景

var 图形:Shape;

画板.addChild(图形);

画板监听鼠标事件

在事件监听器里让图形去绘制

图形.graphics.moveTo(this.mouseX, this.mouseY);

code:

 1 package
 2 {
 3     import flash.display.Shape;
 4     import flash.display.Sprite;
 5     import flash.events.MouseEvent;
 6     /**
 7      * ...
 8      * @author sange
 9      */
     public class DrawingBoard extends Sprite
     {
         private var mySprite:Sprite;
         private var myShape:Shape;
         public function DrawingBoard() 
         {
             init();
         }
         
         private function init():void
         {
             this.mySprite = new Sprite();            
             addChild(this.mySprite);
             this.mySprite.graphics.beginFill(0x336699);
             this.mySprite.graphics.drawRect(0, 0, 550, 400);
             this.mySprite.graphics.endFill();
             this.mySprite.addEventListener(MouseEvent.MOUSE_DOWN, mySpriteMouseDownHandler);
             this.mySprite.addEventListener(MouseEvent.MOUSE_UP, mySpriteMouseUpHandler);
             
             this.myShape = new Shape();
             mySprite.addChild(myShape);
         }
         // 鼠标按下事件
         private function mySpriteMouseDownHandler(event:MouseEvent):void
         {
             this.myShape.graphics.lineStyle(1, 0x00FF00, 1);
             this.myShape.graphics.moveTo(this.mouseX, this.mouseY);            
             this.mySprite.addEventListener(MouseEvent.MOUSE_MOVE, mySpriteMouseMoveHandler);
         }
  
         // 鼠标离开事件
         private function mySpriteMouseUpHandler(event:MouseEvent):void
         {
             this.mySprite.removeEventListener(MouseEvent.MOUSE_MOVE, mySpriteMouseMoveHandler);
         }
          
         // 移动事件
         private function  mySpriteMouseMoveHandler(event:MouseEvent):void
         {
             this.myShape.graphics.lineTo(mouseX, mouseY);
         }
     }
 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: