線を描く

このエントリーをはてなブックマークに追加

 今回はCorona SDK で線を表示する方法です。

 

1.関数の説明

 リファレンスを見ると関数と引数は以下の通りです。

display.newLine( [parentGroup,] x1, y1, x2, y2 [, x3, y3, … ] )
注:大かっこ([と])で囲まれている引数は省略可能を意味しています。

引数名 説明
parentGroup [省略可能]
登録するグループを指定
x1 線の開始x座標
y1 線の開始y座標
x2 線の終点x座標
y2 線の終点y座標
x3
xn
[省略可能]
追加のx座標(xn-1に接続:x3の場合、x2)
継続して追加可能
y3
yn
[省略可能]
追加のy座標(yn-1に接続:y3の場合、y2)
継続して追加可能

 戻り値は「Line Object」(ライン・オブジェクト)になります。
注:ライン・オブジェクトは「touch」および「tap」イベントに対応していません。

 

1.1 使用方法

 座標(100, 100)から(200, 200) に線を表示するには以下のように記述します。

display.newLine(100, 100, 200, 200)

 

 

 何点か通る線を作成したい場合は以下のようにします。

  1. (100, 100)
  2. (200, 200)
  3. (100, 200)

display.newLine(100, 100, 200, 200, 100, 200)

 

 

2.ライン・オブジェクトのプロパティ

 ライン・オブジェクトのプロパティについて説明します。

 

2.1 線の太さ:object.strokeWidth

 ライン・オブジェクトが持つ「strokeWidth」を変更すると、線の太さを変更することができます。

local line1 = display.newLine(100, 100, 200, 200)
local line2 = display.newLine(100, 200, 200, 300)
line2.strokeWidth = 10

 

 

3.ライン・オブジェクトの関数

 ライン・オブジェクトの関数について説明します。

 

3.1 線の通過点を追加:object:append()

 ライン・オブジェクトが持つ「append」関数を呼び出すと、線の通過点を追加することが可能です。最後の(x, y)の後ろに線を追加していきます。
LineObject:append( x, y [, … ] )

引数名 説明
x 追加のx座標
y 追加のy座標
xn [省略可能]
追加のx座標
継続して追加可能
yn [省略可能]
追加のy座標
継続して追加可能

 以下のプログラムを実行すると、その下の図のように表示されます。
local line = display.newLine(100, 100, 200, 200)
line:append(100, 200)
line:append(200, 300)
line:append(100, 300, 200, 400, 100, 400)

 

 

4.1 線の色の変更:object:setStrokeColor()

 ライン・オブジェクトが持つ「setStrokeColor」関数を呼び出すと、線の色を変更することができます。色の表現方法は、グレースケールまたは光の3原色の組み合わせです。
object:setStrokeColor( gray )
object:setStrokeColor( gray, alpha )
object:setStrokeColor( red, green, blue )
object:setStrokeColor( red, green, blue, alpha )

引数名 説明
gray グレースケール:0~1
red 赤:0~1
green 緑:0~1
blue 青:0~1
alpha 透明度:0~1

 以下のプログラムを実行すると、その下の図のように表示されます。

— 初期の色
local line1 = display.newLine(100, 50, 200, 50)
line1.strokeWidth = 5

— グレースケール(グレー)
local line2 = display.newLine(100, 100, 200, 100)
line2.strokeWidth = 5
line2:setStrokeColor(0.5)

— グレースケール(グレー、半透明)
local line3 = display.newLine(100, 150, 200, 150)
line3.strokeWidth = 5
line3:setStrokeColor(0.5, 0.5)

— カラー(オレンジっぽい色)
local line4 = display.newLine(100, 200, 200, 200)
line4.strokeWidth = 5
line4:setStrokeColor(1, 0.5, 0)

— カラー(オレンジっぽい色、半透明)
local line5 = display.newLine(100, 250, 200, 250)
line5.strokeWidth = 5
line5:setStrokeColor(1, 0.5, 0, 0.3)

 

 

       

<更新履歴>

更新日 Corona SDKのバージョン
新規作成 2015年7月5日 v2015.2646

 

 

前へ          メニューへ          次へ

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)