投稿
Aボタンで短い音、Aボタンなが押しで長い音を出すプログラムを教えてください。
1そうだね
プレイ済み
返信[1]
親投稿
おにぎり EasyPuzzler65
もう少し詳しく考えてみてください.意外に奥が深いん ですよ… ・普通の押しと長押しの違いは?何秒押したら長押し? ・もし音は0.1秒,長押しは1秒以上だとすると, 押したらまずピッとなって,1秒たってからピーッと 鳴り続けるということになるけど,そういうこと? ・それとも押している間だけ鳴り続ければいいの?
1そうだね
プレイ済み
返信[2]
親投稿
普通にカチッ手押す0.2秒くらい? 2秒でなが押し判定 ピッピーーはできればいや。 ピーーーーがいい。
0そうだね
プレイ済み
返信[3]
親投稿
そして押してる間だけなってくれたらいい。
0そうだね
プレイ済み
返信[4]
親投稿
とりあえず、RUN(実行)したらピッ!てなるプログラム組んだんですけど………(^^);  なにせ初心者なもんで…
0そうだね
プレイ済み
返信[5]
親投稿
おにぎり EasyPuzzler65
0そうだね
プレイ済み
返信[6]
親投稿
おにぎり EasyPuzzler65
0そうだね
プレイ済み
返信[7]
親投稿
RUNしても、suntax error がでました…なんでですか…
0そうだね
プレイ済み
返信[8]
親投稿
おにぎり EasyPuzzler65
5行目、ABDじゃなくてAND 6行目、N+1はN=N+1とかく 9行目と10行目のあいだ、何行か抜けてます。 同じになるように頑張ってみて。 紙にでも一度書き出してみるといいかも。
1そうだね
プレイ済み
返信[9]
親投稿
けい kei0baisoku
suntax error 0:5 の「5」は、間違っているプログラムの行数を表しています。 手がかりに頑張ってください(^O^)
1そうだね
プレイ済み
返信[10]
親投稿
おちゃめ ochame_nako
Aボタンを押している間だけ音を鳴らすというのであれば「Aボタンを押した瞬間に長音鳴らす」「Aボタンを離した瞬間にその音を止める」という処理を行えばいいです。 WHILE 1  IF BUTTON(2) AND 16 THEN BGMPLAY "@150T1<<C"  IF BUTTON(3) AND 16 THEN BGMSTOP 0 WEND BGMPLAYはデフォだとトラック0なのでトラック0指定でBGMSTOPを行えばBGMPLAYでBGMを鳴らすのを中断させることなくAボタンを押した時の音だけ停止ができます。
1そうだね
プレイ済み
返信[11]
親投稿
もー何度もすみません… 質問が((殴 なが押し判定2秒から1秒にできないでしょうか? 音変えられないでしょうか? ピッ!ておすと・こうでてきて、ピーーて押すとーて上が面に出したいのですが、どういうプログラムを入力すれば…………… 本当にすいません、説明書読んでもわからないんで…
0そうだね
プレイ済み
返信[12]
親投稿
0そうだね
プレイ済み
返信[13]
親投稿
おにぎり EasyPuzzler65
あー,やっと本当にやりたいことが見えてきたみたいね! わたしの2番目の投稿のプログラムでいえば7行目の N>=120というところをN>=60にすれば1秒になるんだけど これはあなたのやりたいこととは違うみたい.(つづく)
0そうだね
プレイ済み
返信[14]
親投稿
おにぎり EasyPuzzler65
あなたのやりたいことだと,音はボタンを鳴らしている間だけ鳴っていればいいみたいです.ただしボタンを押してから話すまでの時間を測って,短ければ・を,長ければ-を表示すればいいんだと思います.(つづく)
1そうだね
プレイ済み
返信[15]
親投稿
おにぎり EasyPuzzler65
順を追ってプログラムを考えましょう. WHILE TRUE 'ここは1/60秒ごとに実行される VSYNC 1 WEND これが基本形.VSYNC 1というのが魔法の呪文みたいなもので,このループの中はほぼ正確に1/60秒ごとに実行されます.VSYNCが時間調整してくれるんです.(つづく)
0そうだね
プレイ済み
返信[16]
親投稿
おにぎり EasyPuzzler65
音をだしたりとめたりは,おちゃめさんのプログラムを借りることにしましょう.ちゃんと音を出したり止めたりしているからまっとうなプログラムです. N=0 WHILE TRUE IF BUTTON() AND 16 THEN 'Aボタンを押している BGMPLAY "@150T1<<C" ELSE 'Aボタンを離している BGMSTOP 0 ENDIF VSYNC 1 WEND (つづく)
0そうだね
プレイ済み
返信[17]
親投稿
おにぎり EasyPuzzler65
これで,Aボタンを押しているときは鳴って,離すと止まるプログラムができました.あとは,Aボタンを押してから離すまでの時間を測って,・と-を出す部分を加えましょう. 次のように書くと,Nという変数に,Aボタンを押し続けたときの時間が,60で1秒という勘定で入っていきます. N=0 WHILE TRUE IF BUTTON() AND 16 THEN 'Aボタンを押している BGMPLAY "@150T1<<C"   N=N+1 ELSE 'Aボタンを離している BGMSTOP 0 N=0 ENDIF VSYNC 1 WEND (つづく)
0そうだね
プレイ済み
返信[18]
親投稿
おにぎり EasyPuzzler65
あとはAボタンを離したときに変数Nの大きさをみて,小さいときは短い押し,大きいときは長い押しと判定すればいいです.ここではN=30,つまり0.5秒で判断してみましょう.(つづく)
0そうだね
プレイ済み
返信[19]
親投稿
おにぎり EasyPuzzler65
0そうだね
プレイ済み
返信[20]
親投稿
おにぎり EasyPuzzler65
実際にプログラムを書いてみたら,ちょこちょこ条件判断を足さないとうまくいかなかった…頭だけで正しいプログラムを書くのは難しいですね!トレーニングにはなりますが…簡単そうなお題でも,やってみるとけっこう複雑です. いまサーバメンテナンス中でプログラムをアップロードできないから,夜にでももういちど作業します.見て打ち込むなら,コメントは長くてめんどうだから省いて打ってね.
1そうだね
プレイ済み
返信[21]
親投稿
おにぎり EasyPuzzler65
公開コードRA33Q3D4.おまたせしました.
1そうだね
プレイ済み
返信[22]
親投稿
おにぎりsのプログラムを元に、やってみたらなりました!ありがとうございます。 それと…本当に最期の質問(´~`;)スマン この背景に色をつけたり、線を書いたり、字を書いたりはどうするんですか? ・・・ーー・ 等の、プリントされた文字を画面中央に持ってくるにはどうするんですか? RUNしたとき、した画面まで表示が行くようにするにはどうしたらいいですか?これが分かったら自力で頑張ろうと思っているので(何とかして)教えてください
0そうだね
プレイ済み
返信[23]
親投稿
けい kei0baisoku
それぞれ、ズバリ答えの命令だけお伝えします。ヘルプで調べたり色々試したりして、命令の使い方を覚えてみてください(^O^) 背景に色=BACKCOLOR 線を描く=GLINE 字を書く=PRINT 文字を画面中央に持ってくる=LOCATE 下画面まで表示する=XSCREEN あ、初めてだと大変だと思いますから、いっぺんにやろうとせずに、一つずつチャレンジしたほうが良いですよ。
1そうだね
プレイ済み
返信[24]
親投稿
おにぎり EasyPuzzler65
色を付けたり…BACKCOLOR命令を使うとか 線を書いたり…GLINE命令ですかね 字を書いたり…PRINT命令を使うかな 画面中央に…ちょっとイメージがわかないけど、センタリング(いつも文字列が真ん中にある)みたいな感じ? 下画面まで…上画面と下画面を合体させたいのかな.だったらXSCREEN 4 ですかね.
1そうだね
プレイ済み
返信[25]
親投稿
おにぎり EasyPuzzler65
追加 文字を画面の指定した場所に書くにはLOCATE命令とPRINT命令を組み合わせます.たとえば上画面の真ん中に"A"と書くなら LOCATE 25,14:PRINT "A" とします.
0そうだね
プレイ済み
返信[26]
親投稿
なんか…こんな感じになったけど(想像とは違う)自分的に良くできたからいいかな。二人ともありがとうございました。今後のことに役立てたいと思います
1そうだね
プレイ済み
返信[27]
親投稿
おにぎり EasyPuzzler65
やっぱりモールスだったのかー.キーを離している時間を数えてスペースを1個開けるようにすると 文字と文字の間をスペースで区切るように表示できるでしょうね さらにその瞬間に・と-のパターンから文字を表示させることもできそうです.上の表で-が続くときにスペースを空けてるのは本当は空けないほうがいいですね.罫線キャラをつかっていてくっついちゃうからそうしてるのかな?
1そうだね
プレイ済み
返信[28]
親投稿
けい kei0baisoku
あ、完全におにぎりさんと被っちゃいましたね(^O^; うまくいったら、それぞれどうしてそうなるのか読み解いて理解しておきましょう(^O^) 分かれば次から自分で同じようなものを作れるようになります。
1そうだね
プレイ済み
返信[29]
親投稿
その後… 背景に色をつけられました。(何故か青w)次はXボタンで空白をあけられたらいいなー と思っています(^-^)
1そうだね
プレイ済み