チュートリアル 


使ってみる「フェードイン再生・フェードアウト停止・演奏開始位置指定・キーシフト」 (Midi)

これらの設定は、演奏前・停止前に設定します。

setMidiFadeInTime()でフェードイン、
setMidiFadeOutTime()でフェードアウト、
setMidiStartTick()で演奏開始位置、
setMidiKeyShift()でキーシフト(移調)を設定できます。

上記のメソッドを使った後に、updatePlayInfo()を使うと、設定がMusicPlayerに反映されます。

[Main.tonyu]
extends SpriteChar;

$mplayer = new Ymplayer();
midiFadeOutTime = 0;
midiFadeInTime  = 0;
midiKeyShift    = 0;
midiStartTick   = 0;
while (1) {
  if (getkey(65) > 0 && midiFadeInTime  > 0) midiFadeInTime  -= 50;  // A:フェードイン-
  if (getkey(83) > 0)                        midiFadeInTime  += 50;  // S:フェードイン+
  if (getkey(68) > 0 && midiFadeOutTime > 0) midiFadeOutTime -= 50;  // D:フェードアウト-
  if (getkey(70) > 0)                        midiFadeOutTime += 50;  // F:フェードアウト+
  if (getkey(71) > 0 && midiStartTick   > 0) midiStartTick   -= 100; // G:開始ティック-
  if (getkey(72) > 0)                        midiStartTick   += 100; // H:開始ティック+
  if (getkey(74) % 5 == 1)                   midiKeyShift    --;     // J:キーシフト-
  if (getkey(75) % 5 == 1)                   midiKeyShift    ++;     // K:キーシフト+
  if (getkey(90) == 1) { // Z:再生
    $mplayer.setMidiFadeInTime(midiFadeInTime); // フェードイン設定
    $mplayer.setMidiStartTick(midiStartTick);   // 開始位置設定(ティック単位)
    $mplayer.setMidiKeyShift(midiKeyShift);     // キーシフト設定
    $mplayer.updatePlayInfo(); // 更新
    $mplayer.play($se_test, 1);
  }
  if (getkey(88) == 1) { // X:停止
    $mplayer.setMidiFadeOutTime(midiFadeOutTime); // フェードアウト設定
    $mplayer.updatePlayInfo(); // 更新
    $mplayer.stop();
  }
  
  drawText(100,  0, "フェードイン :" + midiFadeInTime , $clWhite);
  drawText(100, 20, "フェードアウト:" + midiFadeOutTime, $clWhite);
  drawText(100, 40, "開始位置   :" + midiStartTick  , $clWhite);
  drawText(100, 60, "キーシフト  :" + midiKeyShift   , $clWhite);
  update();
}

メソッドの詳細

戻る