Game Development Reference
In-Depth Information
25
26 def draw (viewport)
27 if @shaking
28 shaking_for = Gosu . milliseconds - @shake_start
29 shaking_x, shaking_y = adjust_shake(
30 center_x, center_y, shaking_for)
31 @tree . draw(shaking_x, shaking_y, 5 )
32 if shaking_for >= SHAKE_TIME
33 @shaking = false
34 end
35 else
36 @tree . draw(center_x, center_y, 5 )
37 end
38 Utils . mark_corners(object . box) if $debug
39 end
40
41 def height
42 @tree . height
43 end
44
45 def width
46 @tree . width
47 end
48
49
private
50
51 def load_sprite (seed)
52 frame_list = trees . frame_list
53 frame = frame_list [ (frame_list . size * seed) . round ]
54 @tree = trees . frame(frame)
55 end
56
57 def center_x
58 @center_x ||= x - @tree . width / 2
59 end
60
61 def center_y
62 @center_y ||= y - @tree . height / 2
63 end
64
65 def trees
66
@@trees ||= Gosu :: TexturePacker . load_json( $window ,
Utils . media_path( 'trees_packed.json' ))
67
68 end
69 end
Search WWH ::




Custom Search