Lua はクラスを直接サポートしていません (ただし、クラスのような機能を提供するライブラリがいくつかあります)。代わりに、テーブルと呼ばれるデータ構造を使用します。テーブルには文字列、数値、関数、およびその他のテーブルを含めることができるため、非常に用途が広いです。
Lua の大きな利点は、スクリプト化されているため、ファイルとしてダウンロードして、コンパイルされたゲームの実行中に実行できることです。.lua
ファイルに保存されるレベルの例を次に示します。
return {
name = 'Example level',
score = 80,
map = {
height = 8,
width = 8,
data = 'sssssssssoooooossoooooossoooooossoooooossoooooossbooooesssssssss'
},
ondraw = function (self)
drawmap(self.map)
drawscore(self.score)
end
}
役に立つと思われるもう 1 つの機能は、メタテーブルです。それらは、継承をテーブルで使用できるようにします。メタテーブルを使用したクラスの実装について詳しくは、http://lua-users.org/wiki/SimpleLuaClasses を参照してください。