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

Defold

正確には 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 の様にアクセスできるので、個人的には違和感が無くおススメです。

お知らせ