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