サイトトップ

Director Flash 書籍 業務内容 プロフィール

Flash ActionScript 3.0 Reference

◎03 Graphics

☆02 ★直線で塗りの図形を描きたい

解説
Spriteインスタンスに対してGraphicsクラスの描画メソッドを使うとき、Graphics.beginFill()メソッドで塗りのカラーを指定することができます。また、塗りを終えるには、Graphics.endFill()メソッドを用います。なお、Spriteインスタンスに描画する際に参照するSprite.graphicsプロパティについては、前述「直線を描きたい」をご参照ください。

→関連項目
直線を描きたい

Graphicsクラス
パッケージ flash.display
継承 Graphics → Object
beginFill()メソッド ASタイプ M
ランタイムバージョン AIR 1.0/Flash Player 9
文法 beginFill(color:uint, alpha:Number = 1.0):void
意味 以降の描画に対して適用される単一色の塗りを指定する。
引数

color:uint…塗りのカラー値。通常は16進数で指定する。/alpha:Number (デフォルト = 1.0(完全な不透明))…塗りのアルファ値。0から1.0までの数値で指定する。

戻り値 なし。
endFill()メソッド ASタイプ M
ランタイムバージョン AIR 1.0/Flash Player 9
文法 endFill():void
意味 閉じられていないパスは閉じて、塗りを適用する。
引数

なし。

戻り値 なし。

記述例
以下のスクリプト03-02-01は、マウスボタンを押したとき(InteractiveObject.mouseDownイベントで)指定した線と塗りの描画を開始し、マウスを動かしている間(InteractiveObject.mouseMoveイベント)短い連続した直線が自由に描けます。そして、ボタンを放したときに(InteractiveObject.mouseUpイベントで)塗りを適用して描画を終えます(図03-02-02)。

スクリプト03-02-01■マウスのドラッグで自由な塗りの図形を描く

// フレームアクション
var mySprite:Sprite = new Sprite();
var myGraphics:Graphics = mySprite.graphics;
var nThickness:Number = 2;
var nColor:uint = 0xFF0066;
addChild(mySprite);
stage.addEventListener(MouseEvent.MOUSE_DOWN, xBeginLine);
stage.addEventListener(MouseEvent.MOUSE_UP, xEndLine);
function xBeginLine(eventObject:MouseEvent):void {
  myGraphics.lineStyle(nThickness);
  myGraphics.beginFill(nColor);
  myGraphics.moveTo(mouseX, mouseY);
  stage.addEventListener(MouseEvent.MOUSE_MOVE, xDrawLine);
}
function xDrawLine(eventObject:MouseEvent):void {
  myGraphics.lineTo(mouseX, mouseY);
}
function xEndLine(eventObject:MouseEvent):void {
  myGraphics.lineTo(mouseX, mouseY);
  myGraphics.endFill();
  stage.removeEventListener(MouseEvent.MOUSE_MOVE, xDrawLine);
}

図03-02-01■マウスのドラッグで描画した図形【03_02_Graphics_beginFill_001.png】


作成者: 野中文雄
ドラフト作成: 2009年6月8日


Copyright © 2001-2009 Fumio Nonaka.  All rights reserved.