Class: Gosu::AnimationBlock

Inherits:
Object
  • Object
show all
Defined in:
lib/gosu/spritesheet/animation_block.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(frames, duration) ⇒ AnimationBlock

Returns a new instance of AnimationBlock.



7
8
9
10
11
# File 'lib/gosu/spritesheet/animation_block.rb', line 7

def initialize(frames, duration)
  @frames = frames
  @duration = duration
  @duration_in_millisecs = @duration * 1000
end

Instance Attribute Details

#durationObject (readonly)

Returns the value of attribute duration.



5
6
7
# File 'lib/gosu/spritesheet/animation_block.rb', line 5

def duration
  @duration
end

#duration_in_millisecsObject (readonly)

Returns the value of attribute duration_in_millisecs.



5
6
7
# File 'lib/gosu/spritesheet/animation_block.rb', line 5

def duration_in_millisecs
  @duration_in_millisecs
end

#framesObject (readonly)

Returns the value of attribute frames.



5
6
7
# File 'lib/gosu/spritesheet/animation_block.rb', line 5

def frames
  @frames
end

Instance Method Details

#stepObject

Calculates the next animation frame.



16
17
18
# File 'lib/gosu/spritesheet/animation_block.rb', line 16

def step
  @frames[Gosu::milliseconds / @duration_in_millisecs % @frames.size]
end

#stopObject



20
21
22
23
# File 'lib/gosu/spritesheet/animation_block.rb', line 20

def stop
  # Just gets back to the first frame.
  @frames[0]
end