投稿
タッチ命令で、タッチできる範囲をタッチしたら効果音をならしたいのですが、どうやってやるのでしょうか…?他の人のプログラムを見ても難しくてわからない…
5そうだね
プレイ済み
返信[1]
親投稿
Villit nakahara1226
「タッチ座標が何以上何未満」 から始めるといいでしょう。 次第にもっといいやり方が見つかると思いますよ。
1そうだね
プレイ済み
返信[2]
親投稿
おにぎり EasyPuzzler65
これは下画面をタッチすると音がするプログラムです。
2そうだね
プレイ済み
返信[3]
親投稿
おにぎり EasyPuzzler65
7行目からが本番です。このぷろぐらむでは、タッチしていないときは,11行目のTOUCH命令によって、変数STTMに0が入ります。0じゃなくなったらタッチしたということ(12行目のIF文)。押し続けるとSTTMの値はどんどん増えていきます。離すと0に戻ります。変数Tは、STTMが0から0じゃない値に変わったときだけ15行目のBEEPを鳴らしたいので設けています。16行目を通過してT=TRUEになったらば、STTMが0じゃない間は、13行目のIF文の働きで、15行目は通らなくなります。タッチを離すとSTTMが0になって19行目が実行され、T=FALSEにもどって、つぎにタッチしてSTTMが0でなくなるのを待つことになります。16行目のT=TRUEを'T=TRUEとして注釈文にしてしまうと、タッチしている間ビーーーッという感じでうるさく鳴ります。
0そうだね
プレイ済み
返信[4]
親投稿
おにぎり EasyPuzzler65
もしさわる範囲を指定したいなら、たとえば12行目と13行目の間にIF文を入れて、範囲を絞ってやればいいと思います。 ちょっと凝って、中心(160,120)から半径50の円内をさわったときだけ音を鳴らしたければ IF SQR(POW(TX-160,2)+POW(TY-120,2))<=50 THEN を12-13行目の間に入れ、 18行目のELSEの前にENDIFを入れるとできます。
1そうだね
プレイ済み
返信[5]
親投稿
おにぎり EasyPuzzler65
手を入れたプログラムはこうなります。円を書いておきましたから、円の内部をさわったときだけ音が鳴ることを確かめて下さい。
0そうだね
プレイ済み
返信[6]
親投稿
おちゃめ ochame_nako
タッチした座標を元に数式で判定してもよいのですがGSPOITを使って色で判定も可能です。 ここで注意しなくてはならないのがRGBは8の倍数で指定するということです。この方法ならば円に限らず自由な形の範囲を簡単に判定が可能です。
1そうだね
プレイ済み