バージョンアップの課題と調査用バージョンの公開です。
<課題1 画面タッチ>
画面にピアノ鍵盤画像を貼り付けて、画面タッチで音を出せるようにする。
画面タッチイベントは、マウスと同様にMouseDown/MouseMove/MouseUpイベントが使えました。
<課題2 キー入力>
*キーや#キーを押すと、なぜかキーダウンイベントが2回発生してしまう。
KeyDownイベントのe.KeyCodeでどのキーかを判定してるんですが、#キーと3キーで同じe.KeyCodeが渡されるので、e.KeyDataでもチェックする必要がある。
3キー押下時
KeyCode=51 KeyData=51
#キー押下時
KeyCode=51 KeyData=65587 (1回目)
KeyCode=16 KeyData=16 (2回目)
あと、同時に4つ以上のキーを押すと、4つ目以降のキー押下イベントが来ないようです。
また、3つキーを押している時に4つ目のキーを押すと、押していた3つのキーアップイベントが来て、4つ目のキーを離すと、また3つのキーのキーダウンイベントが来るようです???
同じことをZero3のメモ帳でやるとわかると思います。
<調査用バージョンの公開>
キーボードとテンキー、画面タッチで音が出るようにしました。
調査用バージョンってことで、キー入力と画面タッチのイベント情報や、鳴動ノード番号が画面に表示されます。
メニューでオクターブを切り替えられるようにしたんですが、まだガード機能をつけてません。音を鳴らしながらメニュー操作や縦横切替すると音が止まらなくなります(^^; アプリを終了させるか、同じ音階のキーをもう一度押せば消えます。
キーボードを開いたときは、ダイアルキーで低音が鳴るようにしてみたんですが、ノード60以下だとまともな音階で鳴りません(--;