#!ruby -Ks # -*- mode: ruby; encoding: sjis -*- # Last updated: <2014/12/22 23:52:09 +0900> # require 'dxruby' require_relative 'ayame' bgm_intro = Ayame.new('test58intro.ogg') bgm_loop = Ayame.new('test58loop.ogg') # bgm_intro = Ayame.new('test58intro.wav') # bgm_loop = Ayame.new('test58loop.wav') bgm_intro_time = 6.888 bgm_intro.predecode bgm_loop.predecode fnt = Font.new(14) bgm_step = 0 intro_time = 0 Window.loop do break if Input.keyPush?(K_ESCAPE) if bgm_step == 1 # イントロ再生中 ntm = Time.now.to_i + (Time.now.usec / 1000000.0) if ntm - intro_time > bgm_intro_time # イントロの曲の長さを超えた puts "loop start : #{ntm}" # loop BGM 再生開始 bgm_step = 2 bgm_loop.play(0, 0) end end if Input.keyPush?(K_Z) if bgm_step == 0 # BGMを再生していないので、イントロ再生開始 bgm_step = 1 bgm_intro.play(1, 0) # 再生時の時間を記録 ntm = Time.now.to_i + (Time.now.usec / 1000000.0) intro_time = ntm puts "intro start : #{intro_time}" elsif bgm_step == 2 # loop BGM 再生中なので停止する bgm_step = 0 bgm_loop.stop end end msg = [ "z : start intro", " intro playing", "z : stop loop bgm" ] Window.drawFont(8, 8, msg[bgm_step], fnt) Ayame.update end bgm_intro.dispose bgm_loop.dispose