テーブル内に関数を

テストのリスト Lua
テストのリスト

PICO-8でゲームをつくっていますが、関数をテーブルの中に書けることを知り、実験してみました。

複雑なことはわかりませんが、2つのテーブルを作り、その一つのテーブル内に関数を作ります。

その関数では、自らのテーブルの要素以外に他のテーブルの変数を読み書きしています。

テストのリスト
テストのリスト

snk = { x=16, y=32}
cam = { x=0, y=32, prn=function() print(“snk.x:”..snk.x..” snk.y:”..snk.y) print(“cam.x:”..cam.x..” cam.y:”..cam.y) print(“cam.x=snk.x cam.y=snk.y”) cam.x=snk.x cam.y=snk.y print(“snk.x:”..snk.x..” snk.y:”..snk.y) print(“cam.x:”..cam.x..” cam.y:”..cam.y) cam.x=snk.x+8 cam.y=snk.y-8 print(“cam.x=snk.x+8 cam.y=snk.y-8”) print(“snk.x:”..snk.x..” snk.y:”..snk.y) print(“cam.x:”..cam.x..” cam.y:”..cam.y) end}
cam.prn()

実行結果は、

テストの実行結果
テストの実行結果

これで、各オブジェクト(?)の変数と関数をテーブル1つにまとめられて、扱いやすくなるのでは?と思い、コードを書き換えてみようと思います。

コメント

タイトルとURLをコピーしました