Game Development Reference
In-Depth Information
19 load_tiles
20 @map = generate_map
21 @zoom = 0.2
22 end
23
24 def button_down ( id )
25 close if id == Gosu :: KbEscape
26 @map = generate_map if id == Gosu :: KbSpace
27 end
28
29 def update
30 adjust_zoom( 0.005 ) if button_down?( Gosu :: KbDown )
31 adjust_zoom( -0.005 ) if button_down?( Gosu :: KbUp )
32 set_caption
33 end
34
35 def draw
36
tiles_x . times do | x |
tiles_y . times do | y |
37
@map [ x ][ y ]. draw(
38
x * TILE_SIZE * @zoom ,
39
y * TILE_SIZE * @zoom ,
40
0 ,
41
@zoom ,
42
@zoom )
43
44 end
45 end
46 end
47
48
private
49
50 def set_caption
51
self . caption = 'Perlin Noise. ' <<
"Zoom: #{ '%.2f' % @zoom } . " <<
52
'Use Up/Down to zoom. Space to regenerate.'
53
54 end
55
56 def adjust_zoom (delta)
57 new_zoom = @zoom + delta
58 if new_zoom > 0.07 && new_zoom < 2
59 @zoom = new_zoom
60 end
61 end
62
63 def load_tiles
64
tiles = Gosu :: Image . load_tiles(
Search WWH ::




Custom Search