読者です 読者をやめる 読者になる 読者になる

Cocos2d-x Lua - Color系を調べてみた

背景色を設定しようとしてlayerにColor3B::BLUEみたいにセットできないかと思って調べてみた


やりたいことはこんな感じ

function MainScene:onCreate()
  display.newLayer(色の指定, display.width, display.height)
    :addTo(self)
end

ここで言われているように、cc.c3b(255,255,255)みたいに書けば動く。

まず検索してみる

大量のcppファイルがひっかかる。Luaファイルをみていくと、cc.c3bのコードがみつかる。

Cocos2d.lua

--Color3B
function cc.c3b( _r,_g,_b )
    return { r = _r, g = _g, b = _b }
end

--Color4B
function cc.c4b( _r,_g,_b,_a )
    return { r = _r, g = _g, b = _b, a = _a }
end

--Color4F
function cc.c4f( _r,_g,_b,_a )
    return { r = _r, g = _g, b = _b, a = _a }
end

実装は無名テーブルである
color3b_table.luaというファイルがあるけど直接使われてはないっぽい

color3b_table.lua

--------------------------------
-- @module color3b_table

--------------------------------------------------------
-- the color3b_table r 
-- @field [parent=#color3b_table] #uchar r preloaded module

--------------------------------------------------------
-- the color3b_table g 
-- @field [parent=#color3b_table] #uchar g preloaded module

--------------------------------------------------------
-- the color3b_table b 
-- @field [parent=#color3b_table] #uchar b preloaded module

return nil

color3bの仕様を書いてるってことなのかな