#!ruby -Ks # -*- mode: ruby; encoding: sjis -*- # Last updated: <2013/12/29 05:37:05 +0900> # # zipファイルを開いて中にある画像ファイルを表示する。 # rubyzip使用版。 # # rubyzip, dxruby, Ayame/Ruby が必要 require 'zip' require 'dxruby' require_relative 'ayame' # zipファイルを開いて、中にあるファイルを読み取る bindata = {} Zip::File.open("res.zip") do |zipfile| zipfile.each do |f| name = f.name # ファイル名取得 size = f.size # ファイルサイズ取得 next if name =~ /\/$/ # ディレクトリは除外 # puts "#{name} , #{size}" # bindata[name] = f.get_input_stream.read bindata[name] = zipfile.read(f.name) end end # 画像作成、サウンドデータの記録を行う imgs = [] bgms = [] bindata.each_key do |fn| if fn =~ /\.png$/ # 画像作成 imgs.push(Image.loadFromFileInMemory(bindata[fn])) elsif fn =~ /\.ogg$/ # サウンドデータを記録 bgms.push(bindata[fn]) end end # サウンドを再生 bgm = Ayame.load_from_memory(bgms[0]) bgm.play(0) # メインループ Window.loop do break if Input.keyPush?(K_ESCAPE) # 読み込んだ画像を全て表示 x, y = 0, 0 imgs.each do |img| Window.draw(x, y, img) y += img.height end end