Miyako2.1での超簡単なサンプル
迷路移動サンプルを30分くらいで作ってみました。かなりアドホックです(は、恥ずかしい・・・)
require 'Miyako/miyako' include Miyako # 大きさは全共通 @size = Size.new(32,32) # 0=壁 1=通路 @sprites = [Sprite.new(:size=>@size, :fill=>[ 0, 0,128]), Sprite.new(:size=>@size, :fill=>[255,255,255]) ] # 0=壁 1=通路 @maze = [[1,1,1,1,1,1,1,1], [1,0,1,0,0,0,0,1], [1,0,1,1,1,1,0,1], [1,0,0,0,0,0,0,1], [1,0,1,0,1,0,0,1], [1,0,1,1,1,1,1,1], [1,0,0,0,0,0,0,1], [1,1,1,1,1,1,1,1]] @player = Sprite.new(:size=>@size, :fill=>[255,0,0]) @pos = Point.new(0,0) # キャラクターを移動する def move_player(x,y) @pos.move!(x, y) @player.move!(x * @size.w, y * @size.h) end # 初期位置移動 move_player(1,1) Miyako.main_loop do break if Input.quit_or_escape? amt = Input.pushed_amount # 移動先が壁でなければ移動 np = @pos.move(*amt) if @maze[np[1]][np[0]] == 0 move_player(*amt) end # Miyako2.1の新機能、render_xyが炸裂 @maze.each_with_index do |ar, y| ar.each_with_index do |v, x| @sprites[v].render_xy x*@size.w, y*@size.h end end @player.render end
これからコツコツと作っていくと、習熟のたすけになると思いますので、しばらくやってみたいと思います。