内容へ移動
tic-80 development wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
•
start
lua:switch
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
===== 概要 ===== * LuaにはSwitch構文がない。 * だが、TIC-80だと必須となるメイン関数(Callback)が存在しており、これを利用する必要がある。 * つまりツリー構造としなければならないが、毎回if分岐を使うのも面倒。 * そこで、switch構文っぽく実装ができれば記述を大きくしなくて済む。また改造も局所的で済む。 ---- * 参考資料 * https://noracle.jp/lua-switch-case/ ===== TIC-80での実装 ===== * 元実装とそれほど変わりない local StateId = { Idle = 1, Run = 2, Attack = 3, } local state=2 function SwitchCaseIdle(arg) return 1+arg*10 end function SwitchCaseRun(arg) return 2+arg*10 end function SwitchCaseAttack(arg) return 3+arg*10 end -- switchぽい関数分岐 function SwitchMain(stateId, arg) local switchCase={} switchCase[StateId.Idle] = SwitchCaseIdle switchCase[StateId.Run] = SwitchCaseRun switchCase[StateId.Attack] = SwitchCaseAttack switchCase[stateId](arg) end function TIC() print SwitchMain(state,1) end
lua/switch.txt
· 最終更新:
2025/07/08 15:00
by
machiaworx
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ