Game Development Reference
In-Depth Information
6
7
def
draw
(viewport)
8
@box
.
draw_rot(x, y,
0
, object
.
angle)
9
Utils
.
mark_corners(object
.
box)
if
$debug
10
end
11
12
def
height
13
@box
.
height
14
end
15
16
def
width
17
@box
.
width
18
end
19
20
private
21
22
def
load_sprite
23
frame
=
boxes
.
frame_list
.
sample
24
@box
=
boxes
.
frame(frame)
25
end
26
27
def
center_x
28
@center_x
||=
x
-
width
/ 2
29
end
30
31
def
center_y
32
@center_y
||=
y
-
height
/ 2
33
end
34
35
def
boxes
36
@@boxes
||=
Gosu
::
TexturePacker
.
load_json(
$window
,
Utils
.
media_path(
'boxes_barrels.json'
))
37
38
end
39
end
Time to generate boxes in our
Map
. It will be similar to trees, but we won't need Perlin
noise, since there will be way fewer boxes than trees, so we don't need to form patterns.
All we need to do is to check if we're not generating box on water.
class
Map
# ...
def
initialize
(object_pool)
# ...
generate_boxes
end