用途別リファレンス
音符を降らせる
- ここでは演奏時間を画面に表示し、音符の個数とそれぞれの次の音符が降ってくるまでの待ち時間を設定し、音符を画面中心の上から降らせるようにする。
例)キラキラ星の音符の個数と待ち時間
currentTime(例)
a=[1/4,1/4,1/4,1/4,1/4,1/4,1/2,1/4,1/4,1/4,1/4,1/4,1/4,1/2,
1/4,1/4,1/4,1/4,1/4,1/4,1/2,1/4,1/4,1/4,1/4,1/4,1/4,1/2,
1/4,1/4,1/4,1/4,1/4,1/4,1/2,1/4,1/4,1/4,1/4,1/4,1/4];
- 音符1つ1つの長さを設定する。
- それぞれ2000=1/1(全音符),1000=1/2(2分音符),500=1/4(4分音符),250=1/8(8分音符)と設定できる。
- キラキラ星は12小節、42音なのでそれに合わせて音符を設定すれば曲の終わりまで音符を降らせることができる。
- 最後の音は次の音がないので設定する必要がない。
currentTime(例)
h=0;
next=0;
while (true) {
t=$c.play().currentTime();
ct=$c.play().currentTime();
if(ct>-1){
text=(floor(ct/100));
}
if (t>next) {
new Onpu;
next+=a[h]*2000;
h=h+1;
}
update();
}
- 曲データに対応する音符の長さを設定した、数値の配列aを作成する。
- nextには次の音符が画面に降ってくる時間が入っている。
- hはaの配列の何番目を指している。
- 例えば、1番目はa[0]なので、1/4*2000=500msが次の音符の待ち時間となる。
Onpu(例)
zOrder=0;
scaleX=0.3;
start=$c.play().currentTime();
while(y<$screenHeight){
t=$c.play().currentTime();
y=(t-start)*($screenHeight*3/4)/2000;
}
die();
- scaleXは画像の大きさを設定している。
- Onpuクラスの画像のx,yの初期位置は設定したので、ここでは音符を画面中心の上から下まで降らすという処理を行っている。
- tに演奏時間を取得させる。
- startは音符が降り始めた時間を表す。
- t-startとは(現在の演奏時間)-(音符が降り始めた時間)。その式に(画面の縦幅*3/4)/2000ms(2秒)を掛け算し、2秒で画面の縦幅の3/4の位置にくるように音符のy軸を設定する。
前へ 曲の演奏時間の取得 次へ ラインパネルの作成