バーチャルキャスト公式Wiki
メニュー
Steam版
デバイス
アセット
配信
その他
リリース情報
- wiki編集者用ページ
-
以前のリビジョンの文書です
module機能とは別のファイルに書かれたプログラムを呼び出して使用する事ができる機能です。
クラスのようにLuaスクリプトを機能ごとに切り出す事ができます。
-- math_custom に module の機能を格納する local math_custom = require "math_custom" local low = -5 local high = 1000 print(math_custom.clamp(low, 0, 300)) print(math_custom.clamp(high, 0, 300))
local module = {} -- この名前は何でも良い function module.clamp(value, min, max) if value < min then value = min; elseif value > max then value = max; end return value; end return module
0 300
-- module_1にmoduleの機能を格納する local module_1 = require "module_1" -- module_1のメソッドを呼び出す print(module_1.GetName()) print(module_1.GetVector())
-- 自分のファイル名を返す local function GetName() return "module_1" end -- Vector3.__new(0,100,0)を返す local function GetVector() return Vector3.__new(0,100,0) end -- VScodeのインテリセンス(入力予測)を使用するのに必要 return { GetName = GetName, GetVector = GetVector }
module_1 (0,100,0)
local module_2 = require "module_2" local test1 = module_2.new(50,1) local test2 = module_2.new(100,2) test1:pp() -- コロンを使うことで引数のselfを省略出来る、test1.pp(test1)と同じ意味 test2:pp()
local module_2 = {} -- この名前は何でも良い module_2.new = function(_x,_y) -- new functionで動的にテーブル生成して返す local obj = {} obj.x = _x obj.y = _y obj.pp = function(self) print(string.format("(%d,%d)", self.x, self.y)) end return obj end return module_2
local fish = require "fish_id" print(fish.chikuwa)
return { ebi = 1, chikuwa = 2, hanpen = 3 }
2