投稿
かたけ~ katakei05
BUTTON命令は IF BUTTON ~ と B=BUTTON() で どう違うんですか? また、どちらの方が使いやすいですか?
3そうだね
プレイ済み
返信[1]
親投稿
基本的には同じです。が、複数(例えば右と左、AとBとか)にまたがるボタン判定ならばB=BUTTON()の方がいいですね。 個人的にはWHILE BUTTON()!=16:VSYNC 1:WENDとかの場合ですと変数にせず直接書く方がいいかと。
0そうだね
プレイ済み
返信[2]
親投稿
そうですね〜。みけらんジェロさんの言う感じですね。 一度しか使わなかったりウエイトの為のループを作るときは直接判定することもありますが2回以上判定に使うなら一度変数に入れた方が短くもなるし扱いやすいと思います。
1そうだね
プレイ済み
返信[3]
親投稿
ゆうたん yu-tan-sama
深く考えずいったん変数に入れた方が安全かな IF BUTTON()==1 THEN GOSUB @BUTTON1 IF BUTTON()==2 THEN GOSUB @BUTTON2 って感じに記述すると、毎回ボタンの状態を取得するから、1の判定と2の判定に連続ヒットしてしまう可能性が出てくる
1そうだね
プレイ済み
返信[4]
親投稿
ヒロブミ hirobumi-mmo
RND,BUTTON,TIME$などは呼び出す度に値が変わってしまう可能性があるので出来れば変数に代入して使うのが無難です
0そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
詳しくは私のサイトのプチコン3号入門講座で書いていますが、BUTTON関数は同一フレーム内ならば同じ値を返します。 そのため60fpsで動作しているならばBUTTON関数の値をそのまま参照しても一旦変数に入れても全く同一動作なので自分が分かりやすい方でいいでしょう。 ただし、60fps以外で動作している場合は結果が変わる場合があるため注意が必要です
0そうだね
プレイ済み
返信[6]
親投稿
かたけ~ katakei05
皆さんとても分かりやすい回答ありがとうございましたm(_ _)m またひとつ僕の知識が増えました!
0そうだね
プレイ済み
返信[7]
親投稿
bigslope bigslope
一般的なPCでのプログラミング環境では、このようなボタンの状態を調べる命令は、画面更新のタイミングに関係無く、『調べた瞬間のボタンの状態』が返ってくるのが一般的なので、その時のボタンの状態を変数に取っておき、それを元に、上が押されているか、下が押されているか…という風に、分解しながら調べていくという感じです。
0そうだね
プレイ済み