投稿
シンヤ shinya2
BUTTONの使い方が分かりません。教えて下さい。
4そうだね
プレイ済み
返信[1]
親投稿
BUTTONは確かに初心者には難しい命令ですよね。 まず、状態の説明から B = BUTTON(0) ボタンを押している状態を取ります。キャラクターの移動とかはこれを使うといいでしょう。 B = BUTTON(1) ボタンを押された瞬間を取ります。
1そうだね
プレイ済み
返信[2]
親投稿
B = BUTTON(2) ボタンを押された瞬間を取るのですが、押しっぱなしにしてると連打で取得されます。 B = BUTTON(3) ボタンを離された瞬間を取ります。 基本的には、(0)と(1)があれば間に合うと思います。
1そうだね
プレイ済み
返信[3]
親投稿
TINY TINY-YAROU
まず、どのボタンを押したらBUTTONの値がいくつになるか、簡単なプログラムで見てみると良いかもしれません。 @START B=BUTTON() PRINT "BUTTON=";B VSYNC 1 GOTO @START あとは、「BUTTONの値が4なら左へ動く」とか、「BUTTONの値が16ならジャンプ」とか、必要な処理を書いていく、みたいな(^_^)
1そうだね
プレイ済み
返信[4]
親投稿
すいません、なんか短い間隔で連続投稿が出来ないようになっているので、返信のテンポが悪くなってしまいます。 つぎに、初心者泣かせのボタンの判定です。 ”論理演算”はご存知でしょうか? 上記、BUTTON()で取得した値には各ボタンの情報がビット列として保存されています。 それを取得するためには”論理演算”をして値を取らないといけないのですが、わからなければ、いまは”おまじない”として覚えておいてください。 ' Aボタンが押されたら IF B AND 16 THEN PRINT "HOGE" ENDIF この B AND 16 が論理演算です。16と言うのはヘルプにものっていますが、Aボタンに割り当てられている数値です。 かなり大雑把にいうと、Bという変数に16という値が書き込まれているかを抽出します。 よくわからなかったら、B AND 値でボタンの状態を取れるとおぼえておきましょう。
0そうだね
プレイ済み
返信[5]
親投稿
'上ボタンが押されたら IF B AND 1 THEN '下ボタンが押されたら IF B AND 2 THEN '左ボタンが押されたら IF B AND 4 THEN '右ボタンが押されたら IF B AND 8 THEN
1そうだね
プレイ済み
返信[6]
親投稿
'Aボタンが押されたら IF B AND 16 THEN 'Bボタンが押されたら IF B AND 32 THEN 'Xボタンが押されたら IF B AND 64 THEN 'Yボタンが押されたら IF B AND 128 THEN
1そうだね
プレイ済み
返信[7]
親投稿
'Lボタンが押されたら IF B AND 256 THEN 'Rボタンが押されたら IF B AND 512 THEN 'XLボタンが押されたら(拡張パッド) IF B AND 2048 THEN 'XRボタンが押されたら(拡張パッド) IF B AND 4096 THEN
1そうだね
プレイ済み
返信[8]
親投稿
以上です。 なんとなく使い方がわかっていただけたでしょうか?
0そうだね
プレイ済み
返信[9]
親投稿
シンヤ shinya2
丁寧な説明ありがとうございます。これから頑張ります。
0そうだね
プレイ済み
返信[10]
親投稿
シンヤ shinya2
あと、IF、THENについても教えて欲しいです。
0そうだね
プレイ済み
返信[11]
親投稿
条件分岐と呼ばれるものですね。 たとえば下のプログラムを日本語に訳すと、 IF B AND 16 THEN PRINT "A" ENDIF IF → もしも B AND 16 → Bに16が含まれて THEN → いたら PRINT "A" → "A"を出力 ENDIF → IF終了 「もしも~だったら~する」ということです。上記の場合、「もしもボタンが押されていたら」ってことですね。
0そうだね
プレイ済み
返信[12]
親投稿
シンヤ shinya2
何度もすみません。ありがとうございます。
1そうだね
プレイ済み
返信[13]
親投稿
シンヤ shinya2
IFの中にIFは入れられますか?
0そうだね
プレイ済み
返信[14]
親投稿
IF A THEN IF B THEN PRINT "A" ENDIF ENDIF はできますが、 IF IF A THEN THEN はできません。
0そうだね
プレイ済み
返信[15]
親投稿
シンヤ shinya2
ありがとうございます。
0そうだね
プレイ済み