nyle 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
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
+