File tree Expand file tree Collapse file tree 2 files changed +39
-17
lines changed
Expand file tree Collapse file tree 2 files changed +39
-17
lines changed Original file line number Diff line number Diff line change 11class GuyLook < Yeah ::SpriteLook #
22#class GuyLook < SpriteLook
3+ attr_accessor :walking , :direction
4+
35 self . image = Yeah ::Image [ 'guy.png' ] #
46 self . size = 64 , 64
57 self . speed = 15
@@ -14,4 +16,32 @@ class GuyLook < Yeah::SpriteLook #
1416 walk_down : ( 18 ..26 ) ,
1517 walk_right : ( 27 ..35 )
1618 }
19+
20+ def animation
21+ if walking
22+ case direction
23+ when :right
24+ :walk_right
25+ when :left
26+ :walk_left
27+ when :up
28+ :walk_up
29+ when :down
30+ :walk_down
31+ end
32+ else
33+ case direction
34+ when :right
35+ :stand_right
36+ when :left
37+ :stand_left
38+ when :up
39+ :stand_up
40+ when :down
41+ :stand_down
42+ else
43+ :stand_down
44+ end
45+ end
46+ end
1747end
Original file line number Diff line number Diff line change @@ -5,39 +5,31 @@ class Guy < Yeah::Thing
55 self . look = GuyLook #
66
77 def act ( elapsed )
8- walking = false
8+ look . walking = false
99
1010 if keyboard . pressing? :right
1111 self . x += speed * elapsed
12- look . animation = :walk_right if keyboard . pressed? :right
13- walking = true
12+ look . direction = :right
13+ look . walking = true
1414 end
1515
1616 if keyboard . pressing? :left
1717 self . x -= speed * elapsed
18- look . animation = :walk_left if keyboard . pressed? :left
19- walking = true
18+ look . direction = :left
19+ look . walking = true
2020 end
2121
2222 if keyboard . pressing? :up
2323 self . y += speed * elapsed
24- look . animation = :walk_up if keyboard . pressed? :up
25- walking = true
24+ look . direction = :up
25+ look . walking = true
2626 end
2727
2828 if keyboard . pressing? :down
2929 self . y -= speed * elapsed
30- look . animation = :walk_down if keyboard . pressed? :down
31- walking = true
30+ look . direction = :down
31+ look . walking = true
3232 end
33-
34- unless walking
35- look . animation = :stand_right if keyboard . released? :right
36- look . animation = :stand_left if keyboard . released? :left
37- look . animation = :stand_up if keyboard . released? :up
38- look . animation = :stand_down if keyboard . released? :down
39- end
40-
4133 end
4234
4335 def speed
You can’t perform that action at this time.
0 commit comments