blob: 2eddcfebc4a7dc9c7e2b2c7e0fba586f79071033 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
class Tileset
attr_accessor :texture
attr_writer :frames
def initialize(*source_recs, texture:)
source_recs.each do |rec|
self.frames.push rec
end
self.texture = texture
end
def rec
self.frames[self.frame.to_i]
end
def frame
@frame ||= 0
end
def frame=(var)
return @frame = 0 if frames.length.zero?
@frame = (var % frames.length)
end
def step(amount = 1)
self.frame += amount
end
def step_back(amount = 1)
self.frame -= amount
end
def frames
@frames ||= []
end
end
|