テーブル内に関数を

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つにまとめられて、扱いやすくなるのでは?と思い、コードを書き換えてみようと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

前の記事

ゲームクリア

次の記事

PICO-8 ver.0.2.1 Update!!新着!!