疑似3Dの可能性とか
例えば、スペースハリアーとかアフターバーナーみたいなゲームなら、作れそうな気がする。
スペースハリアーAC版は地面の描画が問題だが、アフターバーナーは回転の計算量が問題だ。
とりあえずアフターバーナーというリクエストをもらったので実験的に作ってみた。
疑似3Dはオブジェクトの描画だけなら透視座標変換の計算をするだけだから簡単だ。
マリオカートの地面みたいなことをしようと思うと、StarRubyのようにライブラリでサポートしないとたぶん無理。
require 'dxruby' image = Image.new(32,32) image.box(13, 16, 18, 26, [255, 200, 50, 50]) # 木 image.line(13, 16, 13, 26, [255, 0, 0, 0]) image.line(18, 16, 18, 26, [255, 0, 0, 0]) image.circleFill(16, 8, 8, [255, 0, 255, 0]) image.circle(16, 8, 8, [255, 0, 0, 0]) bg = Image.new(640,480, [255, 0, 0, 255]) Window.bgcolor = [200,250,255] x = 320 y = 1000 z = [] Obj = Struct.new(:x, :z) font = Font.new(32) Window.loop do z.push(Obj.new((rand(640)-320)*10, 20)) z.push(Obj.new((rand(640)-320)*10, 20)) Window.draw(0,290, bg, 0) z.delete_if do |i| Window.drawScale((i.x - 320) / i.z + 320, (y - 240) / i.z + 240, image, 10.0 / i.z, 10.0 / i.z, nil, nil, 20 - i.z) i.z -= 1 if i.z < 1 then true else false end end break if Input.keyPush?(K_ESCAPE) Window.drawFont(0, 448, Window.getLoad.to_i.to_s + " %", font) end