プチコンのプ その8 鍵盤楽器を作ろう
ここまでの全リスト
サブルーチンで第二の鍵盤
ここからちょっとレベルが上がります。
さて、下画面の真ん中がガバッと空いているのが気になりますね! ここに第二の鍵盤を追加します。打ち込んだプログラムをセーブしたら、プログラムの頭の鍵盤を描く部分を、サブルーチン化するためにプログラムの後ろに移動します。 #p4petitcom
2013-01-11 00:34:30同じプログラムを打ち込み直してもいいんですが、ここは楽をしましょう。1,2行めと18行'ガッキ の後をLボタン+Yボタンで一気に消し、SAVE"KEYSUB"として保存します。 #p4petitcom
2013-01-11 00:37:35削る前にセーブしたプログラムを読み込み直し、そのまま APPEND "KEYSUB"として描画部分をプログラム末尾に追加します。 #p4petitcom
2013-01-11 00:39:10末尾に追加した分のプログラム を◎KBDというサブルーチンにします。GFILL,GLINEのY座標を、数字から新しくつけたした変数Y1,Y2に直しているのがポイントです。 #p4petitcom
2013-01-11 00:49:03元の描画部分をごっそり削って、◎KBDを呼び出すGOSUB文に置き換えます。変数Yを指定し直しているのがミソ。あと一行め、カーソルが映り込んでますがACLSです。 #p4petitcom http://t.co/YOWa3vjx
2013-01-11 00:51:4236行の変数O1は、上の鍵盤をタッチしたときだけ2になります。変数Oに2を足すと、出る音が2オクターブ上がるわけです。 #p4petitcom http://t.co/Ut37Ba9C
2013-01-11 00:59:47サブルーチンは難しい人も読んでるかと思って今回は使わないつもりだったんですが、つい使ってしまいました。鍵盤を二つ描くために、サブルーチンを2回呼ぶ。便利なのです。 #p4petitcom
2013-01-11 01:08:03演奏を記録再生してみよう
だんだんレベルが上がってきてますが、打ち込めば動くはずなので、わからなくてもめげないで。
あるときふっとコードの意味が腑に落ちたりすることもあります。
今度は演奏を記録・再生してみます。まず、記録のための配列変数SC$(音階 scaleのsc)とFR(フレーム frameのfr)を設定します。 #p4petitcom http://t.co/Sz2XPDDE
2013-01-13 18:27:56変数P4PKBDを使ったIF文は、以前の演奏記録を消さないためですが、ここでは結局1から記録し直すのであまり意味ありません^^; #p4petitcom
2013-01-13 19:00:54◎MAINをこまめに修正。変数TCHTRGはタッチトリガーの意味で、タッチした瞬間か、離した瞬間だけ1になります。これを使って、タッチするまでの無音時間と、タッチした音階・タッチしていた時間を記録します。 #p4petitcom http://t.co/ezxULKky
2013-01-13 19:01:22◎MAINの終わり。フレーム数を数え、TCHTRGのためにTCHSTの値を保存します。 #p4petitcom http://t.co/JlYdCu5x
2013-01-13 19:02:46終了ルーチン◎ENDと、音符追加の◎ADDSC(add scale 音階を加える)、と記録したデータを元に演奏をする◎PLAYサブルーチン。タッチ演奏のあとXボタンを押すと、演奏を再現して終了します。 #p4petitcom http://t.co/mizu8OGQ
2013-01-13 19:06:30アイコンをつけよう
演奏再生のためにアイコンボタンをつけましょう!(まだ続いてたのか) 消しゴムはいわゆるバックスペース、新しい音から順に消します。ト音記号は再生。ゴミ箱は全演奏データの削除。 #p4petitcom http://t.co/t67ttVJ0
2013-01-26 22:21:02