nyle 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -3
  3. data/CHANGELOG.md +21 -0
  4. data/Gemfile.lock +61 -0
  5. data/README.md +2 -2
  6. data/doc/.gitkeep +0 -0
  7. data/lib/nyle.rb +53 -44
  8. data/lib/nyle/frame.rb +18 -3
  9. data/lib/nyle/screen.rb +5 -4
  10. data/lib/nyle/version.rb +1 -1
  11. data/nyle.gemspec +2 -2
  12. data/samples/{nyle_block.rb → application/block.rb} +0 -1
  13. data/samples/{nyle_clock.rb → application/clock.rb} +0 -1
  14. data/samples/{nyle_falling.rb → application/falling.rb} +5 -7
  15. data/samples/{nyle_flight.rb → application/flight.rb} +6 -9
  16. data/samples/{nyle_sketch.rb → application/sketch.rb} +0 -1
  17. data/samples/{nyle_sugar.rb → application/sugar.rb} +1 -1
  18. data/samples/{nyle_tree.rb → application/tree.rb} +2 -3
  19. data/samples/basic/color_chart.rb +316 -0
  20. data/samples/{nyle_pixel.rb → basic/color_pixel.rb} +1 -1
  21. data/samples/basic/draw_circle.rb +52 -0
  22. data/samples/basic/draw_line.rb +82 -0
  23. data/samples/basic/draw_rect.rb +58 -0
  24. data/samples/{nyle_shape.rb → basic/draw_shape.rb} +70 -70
  25. data/samples/basic/draw_text.rb +55 -0
  26. data/samples/basic/image_click.rb +33 -0
  27. data/samples/basic/image_rotate.rb +42 -0
  28. data/samples/{nyle_rpg.rb → basic/image_rpg.rb} +15 -15
  29. data/samples/basic/keyboard.rb +84 -0
  30. data/samples/{nyle_walk_notrace.rb → basic/random_walk.rb} +3 -3
  31. data/samples/{nyle_walk_trace.rb → basic/random_walk_trace.rb} +3 -3
  32. data/samples/image/n_c_mogura.png +0 -0
  33. data/samples/launcher.rb +125 -0
  34. data/samples/tips/.gitkeep +0 -0
  35. data/samples/tutorial/img.jpg +0 -0
  36. data/samples/tutorial/tut_a10.rb +10 -0
  37. data/samples/tutorial/tut_a20.rb +13 -0
  38. data/samples/tutorial/tut_a30.rb +18 -0
  39. data/samples/tutorial/tut_a40.rb +19 -0
  40. data/samples/tutorial/tut_a45.rb +21 -0
  41. data/samples/tutorial/tut_a50.rb +25 -0
  42. data/samples/tutorial/tut_a60.rb +30 -0
  43. data/samples/tutorial/tut_a70.rb +34 -0
  44. data/samples/tutorial/tut_b10.rb +14 -0
  45. data/samples/tutorial/tut_b20.rb +14 -0
  46. data/samples/tutorial/tut_b30.rb +14 -0
  47. data/samples/tutorial/tut_b40.rb +18 -0
  48. metadata +42 -23
  49. data/doc/Nyle_reference.pdf +0 -0
  50. data/samples/image/n_b_river.gif +0 -0
  51. data/samples/nyle_basics.rb +0 -69
  52. data/samples/nyle_basics2.rb +0 -70
  53. data/samples/nyle_click.rb +0 -34
  54. data/samples/nyle_colors.rb +0 -315
  55. data/samples/readme_samples.txt +0 -36
@@ -1,16 +1,15 @@
1
-
2
1
  require 'nyle'
3
2
 
4
3
  class Tree
5
4
  def initialize(x, y, z)
6
5
  @x, @y, @z = x, y, z
7
- @image = Nyle.load_image('./image/n_fl_tree32.png')
6
+ @image = Nyle.load_image('../image/n_fl_tree32.png')
8
7
  end
9
8
 
10
9
  def draw(altitude)
11
10
  dx = ((@x - 320) / @z)
12
11
  dy = (((@y - 240) / @z - 60) * ((altitude - 100) / 300.0) - (altitude - 230))
13
- Nyle.cr.save do
12
+ Nyle.save do
14
13
  Nyle.translate(dx, dy)
15
14
  Nyle.scale(5 / @z, 5 / @z)
16
15
  Nyle.draw_image(0, 0, @image)
@@ -31,7 +30,7 @@ class Ground
31
30
  end
32
31
 
33
32
  def draw
34
- Nyle.cr.save do
33
+ Nyle.save do
35
34
  # draw ground
36
35
  Nyle.translate(320, 240)
37
36
  Nyle.rotate(@angle)
@@ -48,14 +47,14 @@ class Ground
48
47
  end
49
48
 
50
49
  def update(angle, altitude)
51
- @angle += (1.8 * angle / 180 * Math::PI)
50
+ @angle -= (1.8 * angle / 180 * Math::PI)
52
51
  if @angle < (-60.0 / 180 * Math::PI) then
53
52
  @angle = (-60.0 / 180 * Math::PI)
54
53
  end
55
54
  if @angle > (60.0 / 180 * Math::PI) then
56
55
  @angle = (60.0 / 180 * Math::PI)
57
56
  end
58
- @altitude += (5 * altitude)
57
+ @altitude -= (5 * altitude)
59
58
  @altitude = 400 if @altitude > 400
60
59
  @altitude = 100 if @altitude < 100
61
60
  end
@@ -73,9 +72,7 @@ class Screen < Nyle::Screen
73
72
  end
74
73
 
75
74
  def update
76
- angle = (Nyle.key_down?(KEY_Right) ? -1 : (Nyle.key_down?(KEY_Left) ? 1 : 0))
77
- altitude = (Nyle.key_down?(KEY_Down) ? -1 : (Nyle.key_down?(KEY_Up) ? 1 : 0))
78
- @ground.update(angle, altitude)
75
+ @ground.update(Nyle.cursor_x, Nyle.cursor_y)
79
76
 
80
77
  Nyle.quit if Nyle.key_press?(KEY_Escape)
81
78
  end
@@ -1,4 +1,3 @@
1
-
2
1
  require 'nyle'
3
2
 
4
3
  class Screen < Nyle::Screen
@@ -1,4 +1,3 @@
1
-
2
1
  require 'nyle'
3
2
 
4
3
  class Dot
@@ -58,6 +57,7 @@ class Screen < Nyle::Screen
58
57
  end
59
58
  end
60
59
 
60
+
61
61
  Screen.new.show_all
62
62
  Gtk.main
63
63
 
@@ -1,4 +1,3 @@
1
-
2
1
  require 'nyle'
3
2
 
4
3
  class Screen < Nyle::Screen
@@ -30,11 +29,11 @@ class Screen < Nyle::Screen
30
29
  Nyle.translate(0, -len) # move origin
31
30
  len *= 0.66 # adjust length (two-thirds)
32
31
  if len > 2
33
- Nyle.cr.save do
32
+ Nyle.save do
34
33
  Nyle.rotate(@theta) # rotate
35
34
  _branch(len)
36
35
  end
37
- Nyle.cr.save do
36
+ Nyle.save do
38
37
  Nyle.rotate(-@theta) # rotate
39
38
  _branch(len)
40
39
  end
@@ -0,0 +1,316 @@
1
+ require 'nyle'
2
+
3
+ class Screen < Nyle::Screen
4
+ def initialize
5
+ super(480, 600)
6
+ setup
7
+ end
8
+
9
+ def setup
10
+ @colors = _color_list
11
+ @start_index = 0
12
+ @bar_w = 200
13
+ @bar_h = 30
14
+ end
15
+
16
+ def draw
17
+ @colors.each_with_index do |c, i|
18
+ next if i < @start_index
19
+ y = (i - @start_index) * @bar_h
20
+ Nyle.draw_rect(0, y, @bar_w, @bar_h, {color: c, fill: true})
21
+ Nyle.draw_text(@bar_w + 10, y + @bar_h - 10, "#{c.to_s}", {color: :BLACK, size: 16})
22
+ end
23
+ end
24
+
25
+ def update
26
+ if Nyle.key_press?(KEY_Up) or Nyle.mouse_press?(MOUSE_R)
27
+ @start_index -= (@height / @bar_h)
28
+ @start_index = (@colors.length / (@height / @bar_h)) * (@height / @bar_h) if @start_index < 0
29
+ end
30
+
31
+ if Nyle.key_press?(KEY_Down) or Nyle.mouse_press?(MOUSE_L)
32
+ @start_index += (@height / @bar_h)
33
+ @start_index = 0 if @start_index >= @colors.length
34
+ end
35
+
36
+ if Nyle.key_press?(KEY_space)
37
+ @colors.each do |c|
38
+ puts "#{Cairo::Color.parse(c).to_s} (#{c.to_s})"
39
+ end
40
+ end
41
+
42
+ Nyle.quit if Nyle.key_press?(KEY_Escape)
43
+ end
44
+
45
+ def _color_list
46
+ [
47
+ :ALICE_BLUE, # #F0F8FF
48
+ :ALIZARIN_CRIMSON, # #E32637
49
+ :AMARANTH, # #E62B50
50
+ :AMBER, # #FFBF00
51
+ :AMETHYST, # #9966CC
52
+ :ANTIQUE_WHITE, # #FAEBD8
53
+ :APRICOT, # #FBCEB2
54
+ :AQUA, # #00FFFF
55
+ :AQUAMARINE, # #80FFD5
56
+ :ASPARAGUS, # #7CA15B
57
+ :AZURE, # #0080FF
58
+ :BEIGE, # #F5F5DD
59
+ :BISQUE, # #FFE5C4
60
+ :BISTRE, # #3E2B1F
61
+ :BLACK, # #000000
62
+ :BLANCHED_ALMOND, # #FFEBCD
63
+ :BLAZE_ORANGE, # #FF6600
64
+ :BLUE, # #0000FF
65
+ :BLUE_VIOLET, # #8A2BE3
66
+ :BONDI_BLUE, # #0095B6
67
+ :BRIGHT_GREEN, # #66FF00
68
+ :BRIGHT_TURQUOISE, # #08E8DF
69
+ :BROWN, # #964C00
70
+ :BUFF, # #F0DD82
71
+ :BURGUNDY, # #800020
72
+ :BURLY_WOOD, # #DFB887
73
+ :BURNT_ORANGE, # #CC5500
74
+ :BURNT_SIENNA, # #E97551
75
+ :BURNT_UMBER, # #8A3324
76
+ :CADET_BLUE, # #5F9FA1
77
+ :CAMOUFLAGE_GREEN, # #79866C
78
+ :CARDINAL, # #C41E3B
79
+ :CARMINE, # #960018
80
+ :CARNATION, # #F95A61
81
+ :CARROT_ORANGE, # #ED9121
82
+ :CELADON, # #ADE2B0
83
+ :CERISE, # #DF3163
84
+ :CERULEAN, # #007CA8
85
+ :CERULEAN_BLUE, # #2A52BE
86
+ :CHARTREUSE, # #80FF00
87
+ :CHARTREUSE_YELLOW, # #E0FF00
88
+ :CHESTNUT, # #CD5C5C
89
+ :CHOCOLATE, # #D36A1E
90
+ :CINNAMON, # #7C4000
91
+ :COBALT, # #0048AC
92
+ :COPPER, # #B87433
93
+ :COPPER_ROSE, # #996666
94
+ :CORAL, # #FF8050
95
+ :CORAL_RED, # #FF4141
96
+ :CORN, # #FBEC5D
97
+ :CORNFLOWER_BLUE, # #6495ED
98
+ :CORNSILK, # #FFF8DD
99
+ :CREAM, # #FFFDD1
100
+ :CRIMSON, # #DD143D
101
+ :CYAN, # #00FFFF
102
+ :DARK_BLUE, # #00008B
103
+ :DARK_CYAN, # #008B8B
104
+ :DARK_GOLDENROD, # #B8860C
105
+ :DARK_GRAY, # #AAAAAA
106
+ :DARK_GREEN, # #006400
107
+ :DARK_KHAKI, # #BDB76C
108
+ :DARK_MAGENTA, # #8B008B
109
+ :DARK_OLIVE_GREEN, # #556C2F
110
+ :DARK_ORANGE, # #FF8C00
111
+ :DARK_ORCHID, # #9932CC
112
+ :DARK_POWDER_BLUE, # #003399
113
+ :DARK_RED, # #8B0000
114
+ :DARK_SALMON, # #E9967B
115
+ :DARK_SEA_GREEN, # #8FBC8F
116
+ :DARK_SLATE_BLUE, # #493E8B
117
+ :DARK_SLATE_GRAY, # #2F4F4F
118
+ :DARK_TURQUOISE, # #00CED2
119
+ :DARK_VIOLET, # #9400D4
120
+ :DEEP_PINK, # #FF1493
121
+ :DEEP_SKY_BLUE, # #00BFFF
122
+ :DENIM, # #1660BD
123
+ :DIM_GRAY, # #6A6A6A
124
+ :DODGER_BLUE, # #1E90FF
125
+ :EGGPLANT, # #990066
126
+ :EMERALD, # #50C879
127
+ :FALU_RED, # #801818
128
+ :FERN_GREEN, # #4F7A43
129
+ :FIRE_BRICK, # #B22222
130
+ :FLAX, # #EEDD82
131
+ :FLORAL_WHITE, # #FFFAF0
132
+ :FOREST_GREEN, # #228B22
133
+ :FRENCH_ROSE, # #F64B8A
134
+ :FUCHSIA, # #FF00FF
135
+ :GAINSBORO, # #DDDDDD
136
+ :GAMBOGE, # #E59C0F
137
+ :GHOST_WHITE, # #F8F8FF
138
+ :GOLD, # #FFD800
139
+ :GOLDENROD, # #DBA620
140
+ :GRAY, # #808080
141
+ :GRAY_ASPARAGUS, # #475946
142
+ :GREEN, # #00FF00
143
+ :GREEN_YELLOW, # #AEFF2F
144
+ :HARLEQUIN, # #40FF00
145
+ :HELIOTROPE, # #E074FF
146
+ :HOLLYWOOD_CERISE, # #F400A2
147
+ :HONEYDEW, # #F0FFF0
148
+ :HOT_MAGENTA, # #FF00CC
149
+ :HOT_PINK, # #FF6AB5
150
+ :INDIAN_RED, # #CD5C5C
151
+ :INDIGO, # #4C0082
152
+ :INTERNATIONAL_KLEIN_BLUE, # #002FA8
153
+ :INTERNATIONAL_ORANGE, # #FF4F00
154
+ :IVORY, # #FFFFF0
155
+ :JADE, # #00A96C
156
+ :KHAKI, # #C3B191
157
+ :KHAKI_X11, # #F0E78C
158
+ :LAVENDER, # #B57FDD
159
+ :LAVENDER_BLUE, # #CCCCFF
160
+ :LAVENDER_BLUSH, # #FFF0F5
161
+ :LAVENDER_GRAY, # #BDBBD8
162
+ :LAVENDER_PINK, # #FBAFD3
163
+ :LAVENDER_ROSE, # #FBA1E3
164
+ :LAWN_GREEN, # #7DFC00
165
+ :LEMON, # #FDE911
166
+ :LEMON_CHIFFON, # #FFFACD
167
+ :LIGHT_BLUE, # #AED9E7
168
+ :LIGHT_CORAL, # #F08080
169
+ :LIGHT_CYAN, # #E1FFFF
170
+ :LIGHT_GOLDENROD_YELLOW, # #FAFAD3
171
+ :LIGHT_GREEN, # #90EE90
172
+ :LIGHT_GREY, # #D4D4D4
173
+ :LIGHT_PINK, # #FFB6C1
174
+ :LIGHT_SALMON, # #FFA17B
175
+ :LIGHT_SEA_GREEN, # #20B2AB
176
+ :LIGHT_SKY_BLUE, # #87CEFA
177
+ :LIGHT_SLATE_GRAY, # #788899
178
+ :LIGHT_STEEL_BLUE, # #B1C4DF
179
+ :LIGHT_YELLOW, # #FFFFE1
180
+ :LILAC, # #C8A3C8
181
+ :LIME, # #BFFF00
182
+ :LIME_GREEN, # #32CD32
183
+ :LINEN, # #FAF0E7
184
+ :MAGENTA, # #FF00FF
185
+ :MALACHITE, # #0CDB51
186
+ :MAROON, # #800000
187
+ :MAUVE, # #E1B1FF
188
+ :MEDIUM_AQUAMARINE, # #66CDAB
189
+ :MEDIUM_BLUE, # #0000CD
190
+ :MEDIUM_CARMINE, # #B04136
191
+ :MEDIUM_LAVENDER, # #EE82EE
192
+ :MEDIUM_ORCHID, # #BA55D4
193
+ :MEDIUM_PURPLE, # #9371DC
194
+ :MEDIUM_SEA_GREEN, # #3DB372
195
+ :MEDIUM_SLATE_BLUE, # #7C69EE
196
+ :MEDIUM_SPRING_GREEN, # #00FA9B
197
+ :MEDIUM_TURQUOISE, # #49D2CC
198
+ :MEDIUM_VIOLET_RED, # #C71685
199
+ :MIDNIGHT_BLUE, # #003366
200
+ :MINT_CREAM, # #F5FFFA
201
+ :MINT_GREEN, # #98FF98
202
+ :MISTY_ROSE, # #FFE5E2
203
+ :MOCCASIN, # #FFE5B5
204
+ :MOSS_GREEN, # #AEE0AE
205
+ :MOUNTBATTEN_PINK, # #997B8D
206
+ :MUSTARD, # #FFDC58
207
+ :NAVAJO_WHITE, # #FFDFAE
208
+ :NAVY_BLUE, # #000080
209
+ :OCHRE, # #CC7822
210
+ :OLD_GOLD, # #D0B53C
211
+ :OLD_LACE, # #FDF5E7
212
+ :OLD_LAVENDER, # #7A6979
213
+ :OLD_ROSE, # #C08081
214
+ :OLIVE, # #808000
215
+ :OLIVE_DRAB, # #6C8E23
216
+ :ORANGE, # #FF8000
217
+ :ORANGE_COLOR_WHEEL, # #FF8000
218
+ :ORANGE_PEEL, # #FFA100
219
+ :ORANGE_RED, # #FF4600
220
+ :ORANGE_WEB, # #FFA600
221
+ :ORCHID, # #DB71D7
222
+ :PALE_GOLDENROD, # #EEE8AB
223
+ :PALE_GREEN, # #98FB98
224
+ :PALE_TURQUOISE, # #B0EEEE
225
+ :PALE_VIOLET_RED, # #DC7193
226
+ :PAPAYA_WHIP, # #FFEFD6
227
+ :PASTEL_GREEN, # #78DE78
228
+ :PASTEL_PINK, # #FFD2DD
229
+ :PEACH, # #FFE6B5
230
+ :PEACH_ORANGE, # #FFCC99
231
+ :PEACH_PUFF, # #FFDBB9
232
+ :PEACH_YELLOW, # #FAE0AE
233
+ :PEAR, # #D2E331
234
+ :PERIWINKLE, # #CCCCFF
235
+ :PERSIAN_BLUE, # #1C3ABB
236
+ :PERSIAN_GREEN, # #00A793
237
+ :PERSIAN_INDIGO, # #32127B
238
+ :PERSIAN_PINK, # #F780BE
239
+ :PERSIAN_RED, # #CC3333
240
+ :PERSIAN_ROSE, # #FF1CB2
241
+ :PERU, # #CD8540
242
+ :PINE_GREEN, # #017A70
243
+ :PINK, # #FFC0CB
244
+ :PINK_ORANGE, # #FF9966
245
+ :PLUM, # #DEA1DE
246
+ :POMEGRANATE, # #F34823
247
+ :POWDER_BLUE, # #B1E1E7
248
+ :POWDER_BLUE_WEB, # #B1E1E7
249
+ :PRUSSIAN_BLUE, # #003153
250
+ :PUCE, # #CC8899
251
+ :PUMPKIN, # #FF7618
252
+ :PURPLE, # #660099
253
+ :RAW_UMBER, # #744B12
254
+ :RED, # #FF0000
255
+ :RED_VIOLET, # #C71685
256
+ :ROBIN_EGG_BLUE, # #00CCCC
257
+ :ROSE, # #FF0080
258
+ :ROSY_BROWN, # #BC8F8F
259
+ :ROYAL_BLUE, # #426AE2
260
+ :RUSSET, # #80471B
261
+ :RUST, # #B7420E
262
+ :SADDLE_BROWN, # #8B4613
263
+ :SAFETY_ORANGE, # #FF6600
264
+ :SAFFRON, # #F4C430
265
+ :SALMON, # #FF8C6A
266
+ :SANDY_BROWN, # #F4A560
267
+ :SANGRIA, # #92000A
268
+ :SAPPHIRE, # #082567
269
+ :SCARLET, # #FF2400
270
+ :SCHOOL_BUS_YELLOW, # #FFD900
271
+ :SEA_GREEN, # #2E8B57
272
+ :SEASHELL, # #FFF5EE
273
+ :SELECTIVE_YELLOW, # #FFBA00
274
+ :SEPIA, # #714314
275
+ :SHOCKING_PINK, # #FC0FC0
276
+ :SIENNA, # #A1522D
277
+ :SILVER, # #C0C0C0
278
+ :SKY_BLUE, # #87CEEB
279
+ :SLATE_BLUE, # #6B5ACD
280
+ :SLATE_GRAY, # #718090
281
+ :SMALT, # #003399
282
+ :SNOW, # #FFFAFA
283
+ :SPRING_GREEN, # #00FF80
284
+ :STEEL_BLUE, # #4782B5
285
+ :SWAMP_GREEN, # #ADB78E
286
+ :TAN, # #D3B58C
287
+ :TANGERINE, # #FFCC00
288
+ :TAUPE, # #493D32
289
+ :TAWNY, # #CD5700
290
+ :TEA_GREEN, # #D1F0C0
291
+ :TEAL, # #008080
292
+ :TENNE, # #CD5700
293
+ :TERRA_COTTA, # #E3735B
294
+ :THISTLE, # #D9BFD9
295
+ :TOMATO, # #FF6348
296
+ :TURQUOISE, # #30D6C8
297
+ :ULTRAMARINE, # #120A8F
298
+ :VERMILION, # #FF4D00
299
+ :VIOLET, # #8B00FF
300
+ :VIOLET_EGGPLANT, # #991299
301
+ :VIRIDIAN, # #41826E
302
+ :WHEAT, # #F5DFB3
303
+ :WHITE, # #FFFFFF
304
+ :WHITE_SMOKE, # #F5F5F5
305
+ :WISTERIA, # #C9A1DD
306
+ :YELLOW, # #FFFF00
307
+ :YELLOW_GREEN, # #9BCD32
308
+ :ZINNWALDITE # #EBC2B0
309
+ ]
310
+ end
311
+ end
312
+
313
+
314
+ Screen.new.show_all
315
+ Gtk.main
316
+
@@ -1,4 +1,3 @@
1
-
2
1
  require 'nyle'
3
2
 
4
3
  class Screen < Nyle::Screen
@@ -28,6 +27,7 @@ class Screen < Nyle::Screen
28
27
  end
29
28
  end
30
29
 
30
+
31
31
  Screen.new.show_all
32
32
  Gtk.main
33
33
 
@@ -0,0 +1,52 @@
1
+ require 'nyle'
2
+
3
+ class Screen < Nyle::Screen
4
+ def initialize
5
+ super
6
+ end
7
+
8
+ def draw
9
+ Nyle.draw_circle(120, 60, 30)
10
+ Nyle.draw_circle(220, 60, 30, {weight: 4})
11
+ Nyle.draw_circle(320, 60, 30, {weight: 6})
12
+ Nyle.draw_circle(420, 60, 30, {weight: 8})
13
+ Nyle.draw_circle(520, 60, 30, {weight: 10})
14
+
15
+ Nyle.draw_circle(120, 130, 30, {fill: true, a: 0.2})
16
+ Nyle.draw_circle(220, 130, 30, {fill: true, a: 0.4})
17
+ Nyle.draw_circle(320, 130, 30, {fill: true, a: 0.6})
18
+ Nyle.draw_circle(420, 130, 30, {fill: true, a: 0.8})
19
+ Nyle.draw_circle(520, 130, 30, {fill: true, a: 1.0})
20
+
21
+ Nyle.draw_circle(120, 200, 30, {fill: true, a: 0.2, color: :RED})
22
+ Nyle.draw_circle(220, 200, 30, {fill: true, a: 0.4, color: :RED})
23
+ Nyle.draw_circle(320, 200, 30, {fill: true, a: 0.6, color: :RED})
24
+ Nyle.draw_circle(420, 200, 30, {fill: true, a: 0.8, color: :RED})
25
+ Nyle.draw_circle(520, 200, 30, {fill: true, a: 1.0, color: :RED})
26
+
27
+ Nyle.draw_circle(120, 270, 30, {fill: true, a: 0.2, color: :FOREST_GREEN})
28
+ Nyle.draw_circle(220, 270, 30, {fill: true, a: 0.4, color: :FOREST_GREEN})
29
+ Nyle.draw_circle(320, 270, 30, {fill: true, a: 0.6, color: :FOREST_GREEN})
30
+ Nyle.draw_circle(420, 270, 30, {fill: true, a: 0.8, color: :FOREST_GREEN})
31
+ Nyle.draw_circle(520, 270, 30, {fill: true, a: 1.0, color: :FOREST_GREEN})
32
+
33
+ Nyle.draw_circle(120, 340, 30, {fill: true, a: 0.2, color: :COBALT})
34
+ Nyle.draw_circle(220, 340, 30, {fill: true, a: 0.4, color: :COBALT})
35
+ Nyle.draw_circle(320, 340, 30, {fill: true, a: 0.6, color: :COBALT})
36
+ Nyle.draw_circle(420, 340, 30, {fill: true, a: 0.8, color: :COBALT})
37
+ Nyle.draw_circle(520, 340, 30, {fill: true, a: 1.0, color: :COBALT})
38
+
39
+ Nyle.draw_circle(120, 410, 30, {fill: true, a: 0.2, color: :GOLD})
40
+ Nyle.draw_circle(220, 410, 30, {fill: true, a: 0.4, color: :GOLD})
41
+ Nyle.draw_circle(320, 410, 30, {fill: true, a: 0.6, color: :GOLD})
42
+ Nyle.draw_circle(420, 410, 30, {fill: true, a: 0.8, color: :GOLD})
43
+ Nyle.draw_circle(520, 410, 30, {fill: true, a: 1.0, color: :GOLD})
44
+
45
+ Nyle.quit if Nyle.key_press?(KEY_Escape)
46
+ end
47
+ end
48
+
49
+
50
+ Screen.new.show_all
51
+ Gtk.main
52
+