LoginSignup
4
3

More than 5 years have passed since last update.

線や円を描く(Cocos Code IDE, Lua言語)

Posted at

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()を書き換えます。

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()

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3