トピック
するめ# hiruaoriku

ボタンが押されると音が、鳴るプログラムを教えて下さい!

1そうだね
プレイ済み
返信[1]
親投稿
ぴくと kanau1203
ボタンが押されたかどうかというのは BUTTON()という命令でわかります buttonはボタンが押されたときは0以外の数が代入され、何も押されていないときは0が代入されます @loop if !button() then beep 1 vsync goto@loop 補足 vsyncというのは動作を安定させる命令です if !button()thenというのは もし、ボタンが0以外なら~ということです
1そうだね
プレイ済み
返信[2]
親投稿
yuy(α) studio-reader
それだけをしたいなら、 @main b=button(1) if b and #a then beep '#aはbuttonでAボタンを取得した時と同じ値 wait 1 goto@main これだけで作れますよ。
0そうだね
プレイ済み
返信[3]
親投稿
yuy(α) studio-reader
私が書いている間に既に回答が! そしてこの顔である
0そうだね
プレイ済み
返信[4]
親投稿
ΖΕΧ ZEX256
vsyncというのは動作を安定させる命令ではありません! 動作を理解してから説明することをお勧めします。
1そうだね
プレイ済み
返信[5]
親投稿
おちゃめ ochame_nako
WHILE 1  IF BUTTON()==#A THEN BEEP  VSYNC 1 WEND これでAボタンのみを押した場合にBEEP音が鳴ります。 WHILE 1~WENDは無限ループを示します。 「他のボタンを押さずAボタンのみを押した場合」と「他のボタンを押しながらAボタンを押した場合」かでIF文による判定の仕方が異なってきます。 VSYNCは垂直同期信号とのタイミングを取る命令でこれによって画面のちらつきや入力判定の誤動作を防ぐことができます。
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
「ボタンを押したら○○する」というプログラムを作る場合に注意することは上記のようにループを行いボタンが押されているかを常にチェックするプログラムを作らなければならないということです。 ループの命令は様々なものがあるので自分が使いやすいと思うのもので良いと思います。 @A ~ GOTO @A でも無限ループとなります。 あと複数箇所でボタン入力判定を行う場合はB=BUTTON()のようにしてBUTTON()関数の値を別の変数に入れておくと判定がしやすいし、誤動作を防ぐことが可能になります。
1そうだね
プレイ済み
返信[7]
親投稿
するめ# hiruaoriku
ありがとうございます!
0そうだね
プレイ済み