プチコン3号 SmileBASIC コミュニティトピックコウイチ 344344k2017/05/29 08:30:26質問ボタン同時押しについて@LOOP BT=BUTTON() IF BT==#RIGHT THEN ?右 IF BT==#DOUN THEN ?下 GOTO @LOOP これで実行すると上ボタンと右ボタンが同時に押せません。 どうすれば同時に押すことが出来ますか? 0そうだね 7返信プレイ済み2017/11/03 17:24:10に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿SEKI22 rcftgrsfrr5782017/5/29 8:41×BT==# ○BT AND #1そうだね プレイ済み2017/11/03 17:24:10に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿SEKI22 rcftgrsfrr5782017/5/29 8:45VSYNCかWAIT付けた方が良いよ3そうだね プレイ済み2017/11/03 17:24:10に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿シュナ S_S_Schneider2017/5/29 8:45ボタン入力処理で 初心者が失敗しやすいとこですね。コレ。 実は BUTTON命令は 単独押しと 同時押しでは 返ってくる値が違います。 単独で押すと 上キー入力 : 1 下キー入力 : 2 左キー入力 : 4 右キー入力 : 8 がそれぞれ返ってきますが 同時押しだと 上記の押したキーの 合計値が 戻る仕組みなのです。 なので IF BT == (#DOWN + #RIGHT) THEN ですね。6そうだね プレイ済み2017/11/03 17:24:10に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿シュナ S_S_Schneider2017/5/29 9:12SEKIさんのように AND (ビット演算子の一つ)を利用する場合は IF (BT AND #DOWN) && (BT AND #RIGHT) THEN AND を利用する利点は 下と右キー以外に Aボタンを押していたとしても 条件として成立するところです。 (== ですと 下右キーでは 反応しますが そこにA を追加で同時押ししちゃうと 反応しなくなります。 A:16 も加算された値が 返ってくる為です。) 2そうだね プレイ済み2017/11/03 17:24:10に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿シュナ S_S_Schneider2017/5/29 9:15ビット演算子については 難しいので ここでは割愛しますが 気になったら調べてみるのもいいでしょう。0そうだね プレイ済み2017/11/03 17:24:10に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿コウイチ 344344k2017/5/29 10:16そうだったんですか! 回答ありがとうございます。早速試してみますね0そうだね プレイ済み2017/11/03 17:24:10に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿コウイチ 344344k2017/5/29 10:44ちゃんと機能しました! ありがとうございます。1そうだね プレイ済み2017/11/03 17:24:10に取得