Murayama blog.

プログラミング教育なブログ

お絵描きプログラム

1人でこつこつActionScript3.0アニメーションを読み進める会。。
4章に突入。



どっかで見たことあるようなお絵描きサンプル。
マウスでドラッグすると線が引けます。


ポイントは、、

      graphics.moveTo(mouseX, mouseY);

moveToで書き始めの位置を指定して、

      graphics.lineTo(mouseX, mouseY);

lineToで線を引く!みたいな。


あとは、MouseMoveイベントをaddしたりremoveしたりしてるのがポイントなのかな。



ソース。

package
{
  import flash.display.Sprite;
  import flash.events.Event;
  import flash.events.MouseEvent;
  
  public class DrawingApp extends Sprite
  {
    public function DrawingApp()
    {
      init();
    }
 
    private function init():void
    {
      graphics.lineStyle(1);
      stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown_stage);
      stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp_stage);
    }
 
    private function onMouseDown_stage(evt:MouseEvent):void
    {
      graphics.moveTo(mouseX, mouseY);
      stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove_stage);
    }
 
    private function onMouseUp_stage(evt:MouseEvent):void
    {
      stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove_stage);      
    }
 
    private function onMouseMove_stage(evt:MouseEvent):void
    {
      graphics.lineTo(mouseX, mouseY);
    }
  }
}


結構な満足感。