2012-03-12 6 views
1

私は最近、コンウェイのゲームオブゲームを構築するためにLove2dと協力してきました。ルアのモジュラコード構造

私はフレームワークが本当に好きですが、私は自分のコードをモジュール化する方法を見つけ出すことができませんでした。私はコード構造を強固にすることが重要だと感じています。

私がしたいことは、異なる機能を持つファイルをインポートして、メインのluaファイルからアクセスできるようにすることです。スクリプトを書いてファイル全体を実行することはできましたが、特定の機能は実行できませんでした。

ルアでこれを行う方法はありますか?もしそうなら、どうですか?

ありがとうございます!

+0

Love2dで 'require'または' dofile'作業を行いますか? – lhf

答えて

3

LÖVEでrequire関数を使用することができます。これはLuaでの動作と同様に動作します。

-- lib.lua 

local lib = {} -- table to store the functions 

function lib.inc(x) 
    return x + 1 
end 

return lib 

そして、ここであなたが(例えば、main.lua)別のファイルでそれを必要とする方法であり、それを使用します。

local lib = require('lib') 

function love.load() 
    print(lib.inc(1)) -- prints '2' in the terminal 
end 
+0

簡潔でとても役に立ちました、それは私が探していたものです。ありがとうございました! –

+1

うれしい私は助けることができました!また、LÖVEのフォーラムで質問することもできますが、そこにいる人の中にはSOを使わない人がいます。 – kikito

-1

ルアはモジュールをサポートしています。 http://lua-users.org/wiki/ModulesTutorial

+1

ベンジャミンが求めていることに対して、モジュールは本当に必要ではありません。さらに、モジュール関数にはいくつかの既知の欠陥があります - http://lua-users.org/wiki/LuaModuleFunctionCritiquedと私はそれがLuaで廃止されたと思います5.2 – kikito