プチコン3号 SmileBASIC コミュニティトピックHMF gunsofthemy2016/09/07 23:28:20質問BUTTONについてBUTTONについてですが、もうよく分かりません。と言うのも、プログラムに組み込むと何故か無視されてしまいましたので・・・。3そうだね 16返信プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿だにえる haru2016nen2016/9/8 0:35ボタンの判定がリピートしていないのかも? っBREPEAT0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿でんぺん DENPEN2016/9/8 1:01どういうプログラムが動かないのかわからないのですが、BUTTONには多少のクセがある場合もあるので、該当箇所のプログラムとかを載せてみるといいかもしれません。0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿りゅうまご ryumago2016/9/8 5:14BUTTONの0~3のどれを使うかを意識して明記した方が動きがはっきりするのでバグの原因になりにくい と、思ったことはあります ボタンの同時押しとかは0(押しっぱなし)で取得しないと上手く反応しにくいとか カーソル移動のように繰り返して欲しいなら1(リピート)をとか 移動開始2(押しはじめ)でアニメスタート、3(離れた瞬間)でアニメストップの動きをさせたいとか BUTTONは回数こなさないと身に付きにくいかもしれません まぁ、何が原因にせよソースを見ないとハッキリした事はわからないですね 0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿TERA(LL) tera04132016/9/8 8:37プログラムがBUTTON命令を実行するのは、一瞬です。 ボタンの状態を取得するタイミングがループの中に入ってないとうまく読み取ってもらえません。1そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿Godot orz_1272016/9/8 12:00プログラムが示されていないので「無視される」が良くわかりません。 画像のプログラムを実行した状態を「無視される」と言っていますか? 0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿かいしゅう kaikai.jp2016/9/8 19:55無視される と 特に何も起きない は違うんだぜぃ @A ?BUTTON() GOTO @A1そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿STiNGER STiNGER89012016/9/8 20:49INPUTと違い、BUTTONは入力を待ってくれません。 ループの中で用いることで、初めて意味を持ちます。2そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿HMF gunsofthemy2016/9/8 22:20えっと、無視されるってのは、こんなプログラムをした場合、直ぐにBUTTONコマンドの次の ?”A” を表示してしまう訳です。SYS3のを参考にしているのですが、解読不能だったんでコレでいいかなって・・・まあダメでしたが。0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿だにえる haru2016nen2016/9/9 0:11@L B=BUTTON() IF B==#X THEN PRINT"X" IF B==#Y THEN PRINT"Y" GOTO@L0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿だにえる haru2016nen2016/9/9 0:15まず、 B=BUTTON() で、押されたボタンの数値が 「B」に入ります。 einさんのプログラムでは IFにXとYを使っていてBが使われていません。0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿だにえる haru2016nen2016/9/9 0:23#Xは「Xボタンが押されたときの数値」が あらかじめ入っています。 B==#X は、「Bと#Xの数値が等しい」 ということを表します。 #Yとかも同様。 IF B==#X THEN ?"X" は「もしも、Bと#Xが等しければ 『PRINT "X"』を実行する」 ということです。0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿だにえる haru2016nen2016/9/9 0:26@L GOTO@L としておくと、 その間にあるプログラムを繰り返します。 BUTTON()は実行されるのが一瞬なので 繰り返す必要があるわけです。0そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿でんぺん DENPEN2016/9/9 1:09BUTTONはINPUTなどと違ってループで処理しないといけないのは皆さんが答えてくれている通りです。 とりあえずINPUTっぽく処理したいのなら、 REPEAT:WAIT:B=BUTTON(1):UNTIL B !=0 という感じにしてボタンが押されるまで同じ場所でループさせる方法もあります。この場合、このループを抜けて次の行に行く時にはBになにか値が入るはずなので、その値をチェックすればどのボタンが押されたかわかると思います。 1そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿かいしゅう kaikai.jp2016/9/9 7:09BUTTON()常に判定 BUTTON(1)定期的に判定 BUTTON(2)押した瞬間だけ判定 BUTTON(3)離した瞬間だけ判定 @A IF BUTTON()>0 THEN ?"1":GOTO @A IF BUTTON(2)>0 THEN ?"2":GOTO @A IF BUTTON(3)>0 THEN ?"3":END GOTO @A1そうだね プレイ済み2017/11/03 17:52:51に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿HMF gunsofthemy2016/9/11 16:13いろいろ教えてくれてありがとうございました。もうそろそろ出来上がるので、しばらくお待ち下さい!!0そうだね プレイ済み2017/11/03 17:52:51に取得