Cocos Code IDEを使ってLua言語で、DrawNodeを使った線や円の描き方をまとめました。
実行環境、IDE | Cocos2d-xバージョン | 言語 |
---|---|---|
Cocos Code IDE Mac OS X 1.0.0-RC1 | Cocos2d-x V3.2 | Lua言語 |
サンプルコード
プロジェクトの新規作成で作成されるGameScene.luaのGameScene.create()を書き換えます。
function GameScene.create()
local scene = GameScene.new()
local node = cc.DrawNode:create()
node:drawSegment(cc.p(100, 100), cc.p(200, 250), 2, cc.c4f(0, 0, 1, 1))
scene:addChild(node)
return scene
end
実行すると(100, 100)から(200, 250)へ幅2の青い線が描かれます。
線を描く
node:drawSegment(cc.p(100, 100), cc.p(200, 250), 2, cc.c4f(0, 0, 1, 1))
始点、終点、線幅、色を指定します。
この例では(100, 100)から(200, 250)へ幅2の青い線が描かれます。
塗りつぶした円を描く
node:drawDot(cc.p(100, 100), 50, cc.c4f(1, 0, 0, 1))
中心、半径、色を指定します。
この例では(100,100)に半径50の赤い円を描きます
三角形を描く
node:drawTriangle(cc.p(100, 100), cc.p(200, 100), cc.p(150, 150), cc.c4f(0, 0, 1, 1))
3点と色を指定します。
ポリゴンを描く
local points = {cc.p(100, 170),cc.p(220, 190),cc.p(220, 250), cc.p(150, 270)}
node:drawPolygon(points, table.getn(points), cc.c4f(0,0,1,1), 4, cc.c4f(0,1,0,1))
点の配列、配列のサイズ、塗りつぶしの色、線幅、線の色を指定します。
終点と始点はつながれます。
ベジェ曲線
node:drawQuadraticBezier(cc.p(100, 100), cc.p(200, 100), cc.p(150, 150), 10, cc.c4f(1, 0, 1, 1))
3点、構成する線の本数、色を指定して2次ベジェ曲線を塗りつぶして描きます。
node:drawCubicBezier(cc.p(100, 170),cc.p(220, 190),cc.p(220, 250), cc.p(150, 270), 10, cc.c4f(1, 0, 1, 1))
4点、構成する線の本数、色を指定して2次ベジェ曲線を塗りつぶして描きます。
構成する線の本数を増やすと滑らかな曲線になります。
画像を消す
node:clear()