- ツイートベーダー -
# encoding : SJIS
require 'dxruby'
effect = Sound.new("効果音.wav")
bgm = Sound.new("BGM.mid")
# ボリューム値を変数に格納する
volume = 150
# BGM,効果音にボリュームを指定
bgm.setVolume(volume)
effect.setVolume(volume)
# 演奏中かどうかの判定のための変数を用意しておく。これは
# effect_playing = false
# bgm_playing = false
# と、二行使って書くのと同じ意味であり。一括して行う事が出来ます。
effect_playing = bgm_playing = false
# 効果音の再生回数を指定
effect.loopCount = 3
# BGMのスタート位置を指定
bgm.start=768*5
# BGMの2回目以降の開始位置を指定
bgm.loopStart=768*5
# BGMの2回目以降の終了位置を指定
bgm.loopEnd=768*15
Window.loop {
# 左クリックで効果音操作、右クリックでBGM操作を行うように分岐。
if Input.mousePush?(M_LBUTTON)
# 効果音が演奏中であれば演奏中止に、
# 演奏中止であれば演奏中に判定を変更する。
# こういった、判定の頭に「!」を付けると、
# 現在の格納されている判定と反対の結果が返って来ます。
# スイッチのオンオフをイメージすると分かり易いかもしれません。
effect_playing = !effect_playing
# 演奏判定の結果、演奏するのであれば、playを、
# 演奏を止めるのであれば、stopを、それぞれコマンドを送る。
effect_playing ? effect.play : effect.stop
elsif Input.mousePush?(M_RBUTTON)
# こちらも上記の効果音と同じ処理を交換に行わせています。
bgm_playing = !bgm_playing
bgm_playing ? bgm.play : bgm.stop
end
# マウスのホイールを上方向に回すとボリュームが上がり、
# 下方向に回すとボリュームが下がるように分岐。
if Input.mouseWheelPos > 0
volume += 1
# ここで一度0に戻す事で、以後も0を基準に判定する事が出来ます。
Input.mouseWheelPos=0
elsif Input.mouseWheelPos < 0
volume -= 1
Input.mouseWheelPos=0
end
# BGMと効果音それぞれに、上の分岐の結果を反映した、
# ボリュームを再びセットします。
bgm.setVolume(volume)
effect.setVolume(volume)
}
オリジナル32-1 | オリジナル32-2 | オリジナル48 | オリジナル64 |
ANOS | ANOS2 | ANOS4 | |
ひまわり | キーサイレンスイヴ | ねがぽじ |