PICO-8の btn() 関数をあまり良く知らずに今まで来たことに気付いて、ちゃんと調べて動作確認をしました。
PICO-8には、ボタンに対応した番号があります。
左は0、右は1、上は2、下は3となっています。
実行されたときに、左が押されているかいないかをチェックするには、
a = btn(0)
とすると、aには左が押されていれば TRUE 、押されていなければ FALSE 、とbool値( TRUE か FALSE のどちらか)が帰ってきます(右をチェックするなら btn=(1) )。
さて、ここで
a = btn()
と、()の中に何も書かないとどうなるでしょうか?
私ははじめ、押されたキーに振られた数字が返ってくると思っていました。
つまり、左に押されていれば 0 が、右に押されていれば 1 が。
しかし、実際に実行すると左を押すと 1 が、右が押されていると 2 が、帰ってきます。
そして、上だと 4 、下だと 8 、Zは 16 、Xは 32 が帰ってきます。
感の良い方ならお気付きでしょう! そう、各ビットがボタンに対応しています。
矢印キーを全て押すと 15 が、ZとXも一緒に押せば、63 が帰ってきます。
btn()の結果を表示させてみました。
これで、キー入力の読み取りについてハッキリと理解し、すっきりしました。
バージョンアップもあり機能追加や変更があるので、時々はマニュアルを一通り読むようにしないといけませんね。
コメント