【Defold】 Lua で class の様なものを書く方法

Defold, DEVELOP

正確には class の様なものを書く方法です。

実装例

クラスとして扱う

local M = {}
function M.new()
	local instance = {}
	
	instance.state = 0
	function instance.test_print()
		print("test_print called")
	end
	return instance
end
return M

使用例

-- クラスの取り込み
local sample_class = require("main.sampleclass") -- main ディレクトリ以下に配置した場合
function init(self)
    self.sample = sample_class .new()
    -- 関数呼び出し
    self.sample.test_print();
end

class の様にアクセスできるので、個人的には違和感が無くおススメです。

Posted by kazupon