Class: DXRuby::Tiled::Tilesets
- Inherits:
-
Object
- Object
- DXRuby::Tiled::Tilesets
- Defined in:
- lib/dxruby_tiled/tilesets.rb
Instance Attribute Summary collapse
-
#tile_images ⇒ Object
readonly
Returns the value of attribute tile_images.
Instance Method Summary collapse
- #animation ⇒ Object
-
#initialize(data, map) ⇒ Tilesets
constructor
A new instance of Tilesets.
Constructor Details
#initialize(data, map) ⇒ Tilesets
Returns a new instance of Tilesets.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/dxruby_tiled/tilesets.rb', line 6 def initialize(data, map) @data = data @map = map @last_time = 0 @tile_images = [DXRuby::Image.new(32, 32)] @tilesets = @data.map{|tileset| Tileset.new(tileset, @map)} @animations = {} @tilesets.each do |tileset| gid = tileset.firstgid || @tile_images.size tileset.tile_images.each_index{|i| @tile_images[gid + i] = tileset.tile_images[i] } @animations.merge!(tileset.animations) end end |
Instance Attribute Details
#tile_images ⇒ Object (readonly)
Returns the value of attribute tile_images.
4 5 6 |
# File 'lib/dxruby_tiled/tilesets.rb', line 4 def tile_images @tile_images end |
Instance Method Details
#animation ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/dxruby_tiled/tilesets.rb', line 22 def animation() return if @last_time == DXRuby::Window::running_time @last_time = DXRuby::Window::running_time @animations.each_pair do |key, anim| time = @last_time % anim[:time].last @tile_images[key] = anim[:image][anim[:time].rindex{|t| time >= t }] end end |