Class: SpriteKit::SpritesheetLoader
- Inherits:
-
Object
- Object
- SpriteKit::SpritesheetLoader
- Defined in:
- mygame/lib/sprite_kit/spritesheet_loader.rb
Instance Method Summary collapse
-
#initialize ⇒ SpritesheetLoader
constructor
A new instance of SpritesheetLoader.
- #load_directory(directory, tile_width: 16, tile_height: 16, spritesheets: []) ⇒ Object
- #load_file(name:, path:) ⇒ Object
Constructor Details
#initialize ⇒ SpritesheetLoader
Returns a new instance of SpritesheetLoader.
3 4 5 6 7 8 9 |
# File 'mygame/lib/sprite_kit/spritesheet_loader.rb', line 3 def initialize @loadable_extensions = [ "jpeg", "jpg", "png" ] end |
Instance Method Details
#load_directory(directory, tile_width: 16, tile_height: 16, spritesheets: []) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'mygame/lib/sprite_kit/spritesheet_loader.rb', line 11 def load_directory(directory, tile_width: 16, tile_height: 16, spritesheets: []) return [] if directory.to_s == "" GTK.list_files(directory).each do |file| stat = GTK.stat_file(File.join(directory, file)) next if !stat if stat[:file_type] == :directory load_directory(stat[:path], tile_width: tile_width, tile_height: tile_height, spritesheets: spritesheets) end extension = file.split(".").last if @loadable_extensions.include?(extension) spritesheets << load_file( name: stat[:name], path: stat[:path], ) end end spritesheets end |
#load_file(name:, path:) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'mygame/lib/sprite_kit/spritesheet_loader.rb', line 37 def load_file(name:, path:) file_width, file_height = $gtk.calcspritebox(path) { name: name, path: path, file_width: file_width, file_height: file_height, w: file_width, h: file_height, } end |