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

プログラミングの魔物

エラー、バグ、仕様変更と戦うブログ

cocos2d-x Luaでゲーム作り2

RPGの続き

f:id:p-monster:20130204210346p:plain
マップ移動と当たり判定を組んだ
あとはパラメータと戦闘を組んで終わり。


ちょっとアレっと思ったのはgetPostionがCCPoinstではなく複数の戻り値を返すこと。
CCPointで欲しい時はobj:getPositionLua()を呼ぶか、cpp(obj:getPosition())のような変換をする。
obj:getPosition()はxとyを同時に代入したいときは便利だけど、C++のコードと仕様が違うので注意が必要。

また、Luaでローカル関数の宣言が呼び出しよりも下にある場合は前方宣言がいる。

local f

local function g()
  print("前方でfを呼び出す関数")
  f()
end

function f()
  print("後方で定義されたローカル関数f")
end

g()

この場合関数f()の宣言を「local function f()」にすると怒られる。