#!ruby -Ks # -*- mode: ruby; encoding: sjis -*- # Last updated: <2014/06/07 10:54:31 +0900> # # ラスタースクロール用BGの下絵画像を生成して保存する。 # 天井、壁、床、の3つの画像を保存する。 # require 'dxruby' # ---------------------------------------- # 定義部分 wdw_w = 640 # ウインドウ横幅 wdw_h = 480 # ウインドウ縦幅 cw = 128 / 2 # 1マス分のドットサイズ h0 = 32 * 5 h2 = 32 * 5 h1 = wdw_h - h0 - h2 w = wdw_w + cw * 4 # 画像横幅 # 出力ファイル名 output_fname = [ "bg_ras_a_base.png", "bg_ras_b_base.png", "bg_ras_c_base.png", ] # 定義部分ここまで # ---------------------------------------- # 新規画像作成 img0 = Image.new(w, h0, [0, 0, 0, 0]) img1 = Image.new(w, h1, [0, 0, 0, 0]) img2 = Image.new(w, h2, [0, 0, 0, 0]) # 線を引く cx = w / 2 0.step(cx, cw) do |d| a0 = d a1 = d * 2 img0.line(cx + a1, 0, cx + a0, h0, C_WHITE) img0.line(cx - a1, 0, cx - a0, h0, C_WHITE) img1.line(cx + a0, 0, cx + a0, h1, C_WHITE) img1.line(cx - a0, 0, cx - a0, h1, C_WHITE) img2.line(cx + a0, 0, cx + a1, h2, C_WHITE) img2.line(cx - a0, 0, cx - a1, h2, C_WHITE) end # 保存する img0.save(output_fname[0]) img1.save(output_fname[1]) img2.save(output_fname[2]) font = Font.new(14) # 表示して確認 Window.loop do break if Input.keyPush?(K_ESCAPE) x = (Window.width - w) / 2 y = 0 Window.draw(x, y, img0) y += img0.height Window.draw(x, y, img1) y += img1.height Window.draw(x, y, img2) y += img2.height [ output_fname[0], output_fname[1], output_fname[2], "を保存しました" ].each_with_index do |s, i| Window.drawFont(4, 4 + i * 20, s, font) end end