@@ -48,20 +48,7 @@ def initialize
48
48
print tk_initialize_information
49
49
eval tk_initialize_information
50
50
end
51
- # noinspection RubyResolve
52
- canvas_initialize_information = <<END
53
- place(
54
- 'x' => 0,
55
- 'y' => 0,
56
- 'width' => #{ @game_bounds [ 2 ] } ,
57
- 'height' => #{ @game_bounds [ 3 ] }
58
- )
59
- END
60
- # noinspection RubyResolve
61
- @canvas = TkCanvas . new ( @root ) do
62
- print canvas_initialize_information
63
- eval canvas_initialize_information
64
- end
51
+ @canvas = new_canvas
65
52
# super do
66
53
# on_init
67
54
# end
@@ -89,6 +76,23 @@ def initialize
89
76
Tk . mainloop
90
77
end
91
78
79
+ def new_canvas
80
+ # noinspection RubyResolve
81
+ canvas_initialize_information = <<END
82
+ place(
83
+ 'x' => 0,
84
+ 'y' => 0,
85
+ 'width' => #{ @game_bounds [ 2 ] } ,
86
+ 'height' => #{ @game_bounds [ 3 ] }
87
+ )
88
+ END
89
+ # noinspection RubyResolve
90
+ return TkCanvas . new ( @root ) do
91
+ print canvas_initialize_information
92
+ eval canvas_initialize_information
93
+ end
94
+ end
95
+
92
96
def bounds ( x , y , width , height )
93
97
@game_bounds [ 0 ] = x
94
98
@game_bounds [ 1 ] = y
@@ -116,6 +120,7 @@ def message_box(msg = 'information',
116
120
end
117
121
118
122
def draw_everything
123
+ @canvas = new_canvas
119
124
clear_screen
120
125
@objs . each do |o |
121
126
if o . is_a? FObject
@@ -241,6 +246,7 @@ def clear_time_listeners
241
246
:clear_time_listeners ,
242
247
:clear_screen
243
248
244
- private :draw_everything
249
+ private :draw_everything ,
250
+ :new_canvas
245
251
246
252
end
0 commit comments