2012年4月14日 星期六

[AS3.0學習筆記]簡易繪圖板

最近忙翻的其中一個小地方,一個簡單畫筆效果入門版,哈哈~~不過這次的案子,又讓我發現一些以前不知道的「見鬼」事情,好久沒這麼衝了!再接再厲!

效果預覽:

程式學習:

  1. 先設定筆畫的「粗細 (數值)」、「顏色 (0xrrggbb)」、「透明度 (0~1 的數值)」
    MovieClip.graphics.lineStyle(line-style, line-color,line-alpah);
  2. 起點由「moveTo(x 座標,y 座標)」、直線移動到lineTo(x 座標,y 座標)」,而「lineTo」可以很多個,代表折點。
    MovieClip.graphics.moveTo(x 座標 0,y 座標 0);
    MovieClip.graphics.lineTo(x 座標 1,y 座標 1);
    MovieClip.graphics.lineTo(x 座標 2,y 座標 2);
  3. 如果要繪製曲線,可以將「lineTo」換為「curveTo」。
    MovieClip.graphics.curveTo.(x 端點,y 端點,x 座標,y 座標);

例如:

var aa:Sprite=new Sprite()
aa.graphics.lineStyle(3,0xff0000,0.5);
aa.graphics.moveTo(200,150);
aa.graphics.lineTo(350,300);
aa.graphics.curveTo(200,300,250,350);
aa.graphics.lineTo(400,350);
addChild(aa)

繪圖的使用

原始檔下載:

8 則留言:

  1. 請問鼻涕大大 fla是哪個版本的Q_Q
    我用cs4 和 cs5 都顯示 "檔案格式錯誤"

    回覆刪除
  2. 哈囉~~哈哈sorry,文章中忘記說,我記得好像是5.5版,不過已經降轉成4囉~~
    如果需要,您直接下載就行囉~~感謝支持~~^^

    回覆刪除
  3. 哈哈~可以開了!還麻煩你降轉~
    超感謝的XD

    回覆刪除
  4. 哈哈~您客氣啦~~有空歡迎多交流囉~~^^

    回覆刪除
  5. 請問鼻涕大,e.currentTarget.name.substr(6);這是什麼意思 @@

    回覆刪除
    回覆
    1. 哈囉~~
      e.currenttarget.name是指「觸發物件的名稱」
      後面的substr是指擷取字串第7位(從0開始算,所以substr(6)是抓第7位):
      substr(第幾位,抓幾位)
      整體意思是說:例如該物件名稱為「obj123654789」,這樣就會取回「654789」
      如果只要抓1個字,就是substr(6,1)
      ^^

      刪除
  6. 請問鼻涕大,如果我要在這個範例中加上橡皮擦功能的話(像是小畫家的那種橡皮擦)
    請問該朝哪個方向或者用哪種方法才有辦法實現呢?

    回覆刪除
    回覆
    1. 哈~~其實我之前做的版本都比較單純~底色都是一致的,所以橡皮擦的部份都是「將線條色設定成底色」~看起來就會像擦除一樣囉~

      刪除