fantasy 0.1.13 → 0.1.17

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +22 -1
  3. data/.yardopts +4 -0
  4. data/CHANGELOG.md +6 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +55 -0
  7. data/README.md +14 -6
  8. data/docs/Actor.html +2737 -0
  9. data/docs/Background.html +961 -0
  10. data/docs/Camera.html +791 -0
  11. data/docs/Clock.html +753 -0
  12. data/docs/Color.html +776 -0
  13. data/docs/Coordinates.html +730 -0
  14. data/docs/Cursor.html +752 -0
  15. data/docs/Disk.html +236 -0
  16. data/docs/Draggable.html +198 -0
  17. data/docs/Fantasy.html +121 -0
  18. data/docs/Game.html +904 -0
  19. data/docs/Global.html +2791 -0
  20. data/docs/Gravitier.html +179 -0
  21. data/docs/HudImage.html +979 -0
  22. data/docs/HudText.html +1151 -0
  23. data/docs/Image.html +506 -0
  24. data/docs/Jumper.html +189 -0
  25. data/docs/Mouse.html +226 -0
  26. data/docs/MoveByCursor.html +374 -0
  27. data/docs/MoveByDirection.html +179 -0
  28. data/docs/Mover.html +305 -0
  29. data/docs/Music.html +524 -0
  30. data/docs/Shape.html +1057 -0
  31. data/docs/Sound.html +374 -0
  32. data/docs/Tilemap.html +491 -0
  33. data/docs/Tween.html +186 -0
  34. data/docs/UserInputs.html +879 -0
  35. data/docs/Utils.html +345 -0
  36. data/docs/_index.html +346 -0
  37. data/docs/class_list.html +51 -0
  38. data/docs/css/common.css +1 -0
  39. data/docs/css/full_list.css +58 -0
  40. data/docs/css/style.css +497 -0
  41. data/docs/file.CHANGELOG.html +121 -0
  42. data/docs/file.README.html +599 -0
  43. data/docs/file_list.html +61 -0
  44. data/docs/frames.html +17 -0
  45. data/docs/index.html +599 -0
  46. data/docs/js/app.js +314 -0
  47. data/docs/js/full_list.js +216 -0
  48. data/docs/js/jquery.js +4 -0
  49. data/docs/method_list.html +1931 -0
  50. data/docs/top-level-namespace.html +978 -0
  51. data/lib/fantasy/actor.rb +455 -123
  52. data/lib/fantasy/background.rb +109 -13
  53. data/lib/fantasy/base.rb +113 -1
  54. data/lib/fantasy/camera.rb +95 -11
  55. data/lib/fantasy/clock.rb +4 -2
  56. data/lib/fantasy/color.rb +158 -153
  57. data/lib/fantasy/coordinates.rb +5 -9
  58. data/lib/fantasy/cursor.rb +2 -1
  59. data/lib/fantasy/disk.rb +12 -8
  60. data/lib/fantasy/draggable.rb +22 -1
  61. data/lib/fantasy/global.rb +59 -31
  62. data/lib/fantasy/hud_image.rb +5 -3
  63. data/lib/fantasy/hud_text.rb +6 -2
  64. data/lib/fantasy/image.rb +12 -4
  65. data/lib/fantasy/includes/gravitier.rb +2 -0
  66. data/lib/fantasy/includes/jumper.rb +3 -2
  67. data/lib/fantasy/includes/log.rb +12 -0
  68. data/lib/fantasy/includes/move_by_cursors.rb +24 -15
  69. data/lib/fantasy/includes/move_by_direction.rb +2 -0
  70. data/lib/fantasy/includes/mover.rb +3 -0
  71. data/lib/fantasy/includes/user_inputs.rb +6 -0
  72. data/lib/fantasy/loop.rb +41 -44
  73. data/lib/fantasy/mouse.rb +2 -0
  74. data/lib/fantasy/music.rb +4 -2
  75. data/lib/fantasy/shape.rb +11 -2
  76. data/lib/fantasy/sound.rb +3 -1
  77. data/lib/fantasy/tilemap.rb +19 -13
  78. data/lib/fantasy/tween.rb +3 -1
  79. data/lib/fantasy/utils.rb +7 -13
  80. data/lib/fantasy/version.rb +1 -1
  81. data/lib/fantasy.rb +2 -0
  82. metadata +90 -4
  83. data/fantasy.gemspec +0 -40
  84. data/fonts/VT323-Regular.ttf +0 -0
data/docs/Camera.html ADDED
@@ -0,0 +1,791 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Camera
8
+
9
+ &mdash; Documentation by YARD 0.9.27
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Camera";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index (C)</a> &raquo;
40
+
41
+
42
+ <span class="title">Camera</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Camera
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Camera</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/fantasy/camera.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+ <p>Represents Coordinates of the camera and it affects the screen position of all Actors and Backgrounds.
105
+ There is only one active Camera and it is acceded by <code>Camera.main</code>. This Camera is initialized automatically
106
+ and it is already accessible. It can also be changed by another <code>Camera</code> instance.`</p>
107
+
108
+
109
+ </div>
110
+ </div>
111
+ <div class="tags">
112
+
113
+ <div class="examples">
114
+ <p class="tag_title">Examples:</p>
115
+
116
+
117
+ <p class="example_title"><div class='inline'><p>Set the camera position</p>
118
+ </div></p>
119
+
120
+ <pre class="example code"><code><span class='const'>Camera</span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'><span class='object_link'><a href="#position-instance_method" title="Camera#position (method)">position</a></span></span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>100</span><span class='rparen'>)</span></code></pre>
121
+
122
+
123
+ <p class="example_title"><div class='inline'><p>Camera follows player vertically</p>
124
+ </div></p>
125
+
126
+ <pre class="example code"><code><span class='id identifier rubyid_on_game'><span class='object_link'><a href="top-level-namespace.html#on_game-instance_method" title="#on_game (method)">on_game</a></span></span> <span class='kw'>do</span>
127
+ <span class='id identifier rubyid_player'>player</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Actor.html" title="Actor (class)">Actor</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Actor.html#initialize-instance_method" title="Actor#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>image</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
128
+
129
+ <span class='id identifier rubyid_on_loop'><span class='object_link'><a href="top-level-namespace.html#on_loop-instance_method" title="#on_loop (method)">on_loop</a></span></span> <span class='kw'>do</span>
130
+ <span class='const'>Camera</span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'><span class='object_link'><a href="#position-instance_method" title="Camera#position (method)">position</a></span></span><span class='period'>.</span><span class='id identifier rubyid_y'>y</span> <span class='op'>=</span> <span class='id identifier rubyid_player'>player</span><span class='period'>.</span><span class='id identifier rubyid_position'>position</span><span class='period'>.</span><span class='id identifier rubyid_y'>y</span> <span class='op'>-</span> <span class='lparen'>(</span><span class='const'>SCREEN_HEIGHT</span> <span class='op'>/</span> <span class='int'>2</span><span class='rparen'>)</span>
131
+ <span class='kw'>end</span>
132
+ <span class='kw'>end</span></code></pre>
133
+
134
+
135
+ <p class="example_title"><div class='inline'><p>Switching between cameras</p>
136
+ </div></p>
137
+
138
+ <pre class="example code"><code><span class='id identifier rubyid_camera_1'>camera_1</span> <span class='op'>=</span> <span class='const'>Camera</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Camera#initialize (method)">new</a></span></span>
139
+ <span class='id identifier rubyid_camera_2'>camera_2</span> <span class='op'>=</span> <span class='const'>Camera</span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="Camera#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>position:</span> <span class='const'><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>10</span><span class='rparen'>)</span><span class='rparen'>)</span>
140
+ <span class='const'>Camera</span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span> <span class='op'>=</span> <span class='id identifier rubyid_camera_1'>camera_1</span>
141
+ <span class='const'>Camera</span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span> <span class='op'>=</span> <span class='id identifier rubyid_camera_2'>camera_2</span></code></pre>
142
+
143
+ </div>
144
+
145
+
146
+ </div>
147
+
148
+
149
+
150
+ <h2>Class Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
151
+ <ul class="summary">
152
+
153
+ <li class="public ">
154
+ <span class="summary_signature">
155
+
156
+ <a href="#main-class_method" title="main (class method)">.<strong>main</strong> &#x21d2; Camera </a>
157
+
158
+
159
+
160
+ </span>
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <span class="summary_desc"><div class='inline'><p>The active Camera.</p>
174
+ </div></span>
175
+
176
+ </li>
177
+
178
+
179
+ </ul>
180
+
181
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
182
+ <ul class="summary">
183
+
184
+ <li class="public ">
185
+ <span class="summary_signature">
186
+
187
+ <a href="#direction-instance_method" title="#direction (instance method)">#<strong>direction</strong> &#x21d2; Coordinates </a>
188
+
189
+
190
+
191
+ </span>
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+ <span class="summary_desc"><div class='inline'><p>Controls the direction in which the Camera will move in the next frame.</p>
205
+ </div></span>
206
+
207
+ </li>
208
+
209
+
210
+ <li class="public ">
211
+ <span class="summary_signature">
212
+
213
+ <a href="#position-instance_method" title="#position (instance method)">#<strong>position</strong> &#x21d2; Coordinates </a>
214
+
215
+
216
+
217
+ </span>
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+ <span class="summary_desc"><div class='inline'><p>Coordinates object where x and y represent the position of the Camera in the World (no necessarily in the Screen).</p>
231
+ </div></span>
232
+
233
+ </li>
234
+
235
+
236
+ <li class="public ">
237
+ <span class="summary_signature">
238
+
239
+ <a href="#speed-instance_method" title="#speed (instance method)">#<strong>speed</strong> &#x21d2; Float </a>
240
+
241
+
242
+
243
+ </span>
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+ <span class="summary_desc"><div class='inline'><p>Controls the pixels per second which the Camera will move in the next frame.</p>
257
+ </div></span>
258
+
259
+ </li>
260
+
261
+
262
+ </ul>
263
+
264
+
265
+
266
+
267
+
268
+ <h2>
269
+ Instance Method Summary
270
+ <small><a href="#" class="summary_toggle">collapse</a></small>
271
+ </h2>
272
+
273
+ <ul class="summary">
274
+
275
+ <li class="public ">
276
+ <span class="summary_signature">
277
+
278
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(position: Coordinates.zero) &#x21d2; Camera </a>
279
+
280
+
281
+
282
+ </span>
283
+
284
+
285
+ <span class="note title constructor">constructor</span>
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+ <span class="summary_desc"><div class='inline'><p>Generates a Camera with all the default attribute values.</p>
295
+ </div></span>
296
+
297
+ </li>
298
+
299
+
300
+ <li class="public ">
301
+ <span class="summary_signature">
302
+
303
+ <a href="#on_after_move-instance_method" title="#on_after_move (instance method)">#<strong>on_after_move</strong>(&amp;block) &#x21d2; Object </a>
304
+
305
+
306
+
307
+ </span>
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+ <span class="summary_desc"><div class='inline'><p>Triggered on every frame after the move has been executed.</p>
318
+ </div></span>
319
+
320
+ </li>
321
+
322
+
323
+ </ul>
324
+
325
+
326
+ <div id="constructor_details" class="method_details_list">
327
+ <h2>Constructor Details</h2>
328
+
329
+ <div class="method_details first">
330
+ <h3 class="signature first" id="initialize-instance_method">
331
+
332
+ #<strong>initialize</strong>(position: Coordinates.zero) &#x21d2; <tt><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></tt>
333
+
334
+
335
+
336
+
337
+
338
+ </h3><div class="docstring">
339
+ <div class="discussion">
340
+ <p>Generates a Camera with all the default attribute values</p>
341
+
342
+
343
+ </div>
344
+ </div>
345
+ <div class="tags">
346
+
347
+ <div class="examples">
348
+ <p class="tag_title">Examples:</p>
349
+
350
+
351
+ <p class="example_title"><div class='inline'><p>Generate an Camera</p>
352
+ </div></p>
353
+
354
+ <pre class="example code"><code><span class='id identifier rubyid_camera'>camera</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
355
+ <span class='id identifier rubyid_camera'>camera</span><span class='period'>.</span><span class='id identifier rubyid_position'>position</span> <span class='comment'># =&gt; Coordinates.zero
356
+ </span><span class='id identifier rubyid_camera'>camera</span><span class='period'>.</span><span class='id identifier rubyid_direction'>direction</span> <span class='comment'># =&gt; Coordinates.zero
357
+ </span><span class='id identifier rubyid_camera'>camera</span><span class='period'>.</span><span class='id identifier rubyid_speed'>speed</span> <span class='comment'># =&gt; 0</span></code></pre>
358
+
359
+ </div>
360
+ <p class="tag_title">Parameters:</p>
361
+ <ul class="param">
362
+
363
+ <li>
364
+
365
+ <span class='name'>position</span>
366
+
367
+
368
+ <span class='type'>(<tt><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></tt>)</span>
369
+
370
+
371
+ <em class="default">(defaults to: <tt>Coordinates.zero</tt>)</em>
372
+
373
+
374
+ &mdash;
375
+ <div class='inline'><p>the initial position of the camera. Default <code>Coordinates.zero</code></p>
376
+ </div>
377
+
378
+ </li>
379
+
380
+ </ul>
381
+
382
+
383
+ </div><table class="source_code">
384
+ <tr>
385
+ <td>
386
+ <pre class="lines">
387
+
388
+
389
+ 74
390
+ 75
391
+ 76
392
+ 77
393
+ 78
394
+ 79</pre>
395
+ </td>
396
+ <td>
397
+ <pre class="code"><span class="info file"># File 'lib/fantasy/camera.rb', line 74</span>
398
+
399
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>position:</span> <span class='const'><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></span><span class='period'>.</span><span class='id identifier rubyid_zero'><span class='object_link'><a href="Coordinates.html#zero-class_method" title="Coordinates.zero (method)">zero</a></span></span><span class='rparen'>)</span>
400
+ <span class='ivar'>@position</span> <span class='op'>=</span> <span class='id identifier rubyid_position'>position</span>
401
+ <span class='ivar'>@direction</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></span><span class='period'>.</span><span class='id identifier rubyid_zero'><span class='object_link'><a href="Coordinates.html#zero-class_method" title="Coordinates.zero (method)">zero</a></span></span>
402
+ <span class='ivar'>@speed</span> <span class='op'>=</span> <span class='int'>0</span>
403
+ <span class='ivar'>@on_after_move_callback</span> <span class='op'>=</span> <span class='kw'>nil</span>
404
+ <span class='kw'>end</span></pre>
405
+ </td>
406
+ </tr>
407
+ </table>
408
+ </div>
409
+
410
+ </div>
411
+
412
+ <div id="class_attr_details" class="attr_details">
413
+ <h2>Class Attribute Details</h2>
414
+
415
+
416
+ <span id="main=-class_method"></span>
417
+ <div class="method_details first">
418
+ <h3 class="signature first" id="main-class_method">
419
+
420
+ .<strong>main</strong> &#x21d2; <tt><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></tt>
421
+
422
+
423
+
424
+
425
+
426
+ </h3><div class="docstring">
427
+ <div class="discussion">
428
+ <p>Returns The active Camera.</p>
429
+
430
+
431
+ </div>
432
+ </div>
433
+ <div class="tags">
434
+
435
+ <p class="tag_title">Returns:</p>
436
+ <ul class="return">
437
+
438
+ <li>
439
+
440
+
441
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></tt>)</span>
442
+
443
+
444
+
445
+ &mdash;
446
+ <div class='inline'><p>The active Camera</p>
447
+ </div>
448
+
449
+ </li>
450
+
451
+ </ul>
452
+
453
+ </div><table class="source_code">
454
+ <tr>
455
+ <td>
456
+ <pre class="lines">
457
+
458
+
459
+ 103
460
+ 104
461
+ 105</pre>
462
+ </td>
463
+ <td>
464
+ <pre class="code"><span class="info file"># File 'lib/fantasy/camera.rb', line 103</span>
465
+
466
+ <span class='kw'>def</span> <span class='id identifier rubyid_main'>main</span>
467
+ <span class='ivar'>@main</span>
468
+ <span class='kw'>end</span></pre>
469
+ </td>
470
+ </tr>
471
+ </table>
472
+ </div>
473
+
474
+ </div>
475
+
476
+ <div id="instance_attr_details" class="attr_details">
477
+ <h2>Instance Attribute Details</h2>
478
+
479
+
480
+ <span id="direction=-instance_method"></span>
481
+ <div class="method_details first">
482
+ <h3 class="signature first" id="direction-instance_method">
483
+
484
+ #<strong>direction</strong> &#x21d2; <tt><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></tt>
485
+
486
+
487
+
488
+
489
+
490
+ </h3><div class="docstring">
491
+ <div class="discussion">
492
+
493
+ <div class="note notetag">
494
+ <strong>Note:</strong>
495
+ <div class='inline'><p>The the pixels per second is represented by the <code>@speed</code> attribute</p>
496
+ </div>
497
+ </div>
498
+
499
+ <p>Controls the direction in which the Camera will move in the next frame.</p>
500
+
501
+ <p>Default <code>Coordinates.zero</code>.</p>
502
+
503
+
504
+ </div>
505
+ </div>
506
+ <div class="tags">
507
+
508
+ <div class="examples">
509
+ <p class="tag_title">Examples:</p>
510
+
511
+
512
+ <p class="example_title"><div class='inline'><p>Set direction</p>
513
+ </div></p>
514
+
515
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_direction'>direction</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></span><span class='period'>.</span><span class='id identifier rubyid_right'><span class='object_link'><a href="Coordinates.html#right-class_method" title="Coordinates.right (method)">right</a></span></span></code></pre>
516
+
517
+ </div>
518
+
519
+ <p class="tag_title">Returns:</p>
520
+ <ul class="return">
521
+
522
+ <li>
523
+
524
+
525
+ <span class='type'>(<tt><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></tt>)</span>
526
+
527
+
528
+
529
+ &mdash;
530
+ <div class='inline'><p>the actual direction</p>
531
+ </div>
532
+
533
+ </li>
534
+
535
+ </ul>
536
+
537
+ </div><table class="source_code">
538
+ <tr>
539
+ <td>
540
+ <pre class="lines">
541
+
542
+
543
+ 51
544
+ 52
545
+ 53</pre>
546
+ </td>
547
+ <td>
548
+ <pre class="code"><span class="info file"># File 'lib/fantasy/camera.rb', line 51</span>
549
+
550
+ <span class='kw'>def</span> <span class='id identifier rubyid_direction'>direction</span>
551
+ <span class='ivar'>@direction</span>
552
+ <span class='kw'>end</span></pre>
553
+ </td>
554
+ </tr>
555
+ </table>
556
+ </div>
557
+
558
+
559
+ <span id="position=-instance_method"></span>
560
+ <div class="method_details ">
561
+ <h3 class="signature " id="position-instance_method">
562
+
563
+ #<strong>position</strong> &#x21d2; <tt><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></tt>
564
+
565
+
566
+
567
+
568
+
569
+ </h3><div class="docstring">
570
+ <div class="discussion">
571
+ <p>Coordinates object where x and y represent the position of the Camera in the World (no necessarily in the Screen).</p>
572
+
573
+ <p>Default <code>Coordinates.zero</code>.</p>
574
+
575
+
576
+ </div>
577
+ </div>
578
+ <div class="tags">
579
+
580
+ <div class="examples">
581
+ <p class="tag_title">Examples:</p>
582
+
583
+
584
+ <p class="example_title"><div class='inline'><p>Setting position</p>
585
+ </div></p>
586
+
587
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'>position</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='int'>10</span><span class='comma'>,</span> <span class='int'>20</span><span class='rparen'>)</span>
588
+ <span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'>position</span><span class='period'>.</span><span class='id identifier rubyid_x'>x</span> <span class='comment'># =&gt; 10</span></code></pre>
589
+
590
+
591
+ <p class="example_title"><div class='inline'><p>Modify position</p>
592
+ </div></p>
593
+
594
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'>position</span><span class='period'>.</span><span class='id identifier rubyid_x'>x</span> <span class='op'>+=</span> <span class='int'>1</span>
595
+ <span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'>position</span><span class='period'>.</span><span class='id identifier rubyid_x'>x</span> <span class='comment'># =&gt; 11</span></code></pre>
596
+
597
+ </div>
598
+
599
+ <p class="tag_title">Returns:</p>
600
+ <ul class="return">
601
+
602
+ <li>
603
+
604
+
605
+ <span class='type'>(<tt><span class='object_link'><a href="Coordinates.html" title="Coordinates (class)">Coordinates</a></span></tt>)</span>
606
+
607
+
608
+
609
+ &mdash;
610
+ <div class='inline'><p>the actual position</p>
611
+ </div>
612
+
613
+ </li>
614
+
615
+ </ul>
616
+
617
+ </div><table class="source_code">
618
+ <tr>
619
+ <td>
620
+ <pre class="lines">
621
+
622
+
623
+ 39
624
+ 40
625
+ 41</pre>
626
+ </td>
627
+ <td>
628
+ <pre class="code"><span class="info file"># File 'lib/fantasy/camera.rb', line 39</span>
629
+
630
+ <span class='kw'>def</span> <span class='id identifier rubyid_position'>position</span>
631
+ <span class='ivar'>@position</span>
632
+ <span class='kw'>end</span></pre>
633
+ </td>
634
+ </tr>
635
+ </table>
636
+ </div>
637
+
638
+
639
+ <span id="speed=-instance_method"></span>
640
+ <div class="method_details ">
641
+ <h3 class="signature " id="speed-instance_method">
642
+
643
+ #<strong>speed</strong> &#x21d2; <tt>Float</tt>
644
+
645
+
646
+
647
+
648
+
649
+ </h3><div class="docstring">
650
+ <div class="discussion">
651
+
652
+ <div class="note notetag">
653
+ <strong>Note:</strong>
654
+ <div class='inline'><p>The the direction is represented by the <code>@direction</code> attribute</p>
655
+ </div>
656
+ </div>
657
+
658
+ <p>Controls the pixels per second which the Camera will move in the next frame.</p>
659
+
660
+ <p>Default <code>0</code>.</p>
661
+
662
+
663
+ </div>
664
+ </div>
665
+ <div class="tags">
666
+
667
+ <div class="examples">
668
+ <p class="tag_title">Examples:</p>
669
+
670
+
671
+ <p class="example_title"><div class='inline'><p>Set speed</p>
672
+ </div></p>
673
+
674
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_speed'>speed</span> <span class='op'>=</span> <span class='int'>10</span></code></pre>
675
+
676
+ </div>
677
+
678
+ <p class="tag_title">Returns:</p>
679
+ <ul class="return">
680
+
681
+ <li>
682
+
683
+
684
+ <span class='type'>(<tt>Float</tt>)</span>
685
+
686
+
687
+
688
+ &mdash;
689
+ <div class='inline'><p>the actual speed</p>
690
+ </div>
691
+
692
+ </li>
693
+
694
+ </ul>
695
+
696
+ </div><table class="source_code">
697
+ <tr>
698
+ <td>
699
+ <pre class="lines">
700
+
701
+
702
+ 63
703
+ 64
704
+ 65</pre>
705
+ </td>
706
+ <td>
707
+ <pre class="code"><span class="info file"># File 'lib/fantasy/camera.rb', line 63</span>
708
+
709
+ <span class='kw'>def</span> <span class='id identifier rubyid_speed'>speed</span>
710
+ <span class='ivar'>@speed</span>
711
+ <span class='kw'>end</span></pre>
712
+ </td>
713
+ </tr>
714
+ </table>
715
+ </div>
716
+
717
+ </div>
718
+
719
+
720
+ <div id="instance_method_details" class="method_details_list">
721
+ <h2>Instance Method Details</h2>
722
+
723
+
724
+ <div class="method_details first">
725
+ <h3 class="signature first" id="on_after_move-instance_method">
726
+
727
+ #<strong>on_after_move</strong>(&amp;block) &#x21d2; <tt>Object</tt>
728
+
729
+
730
+
731
+
732
+
733
+ </h3><div class="docstring">
734
+ <div class="discussion">
735
+ <p>Triggered on every frame after the move has been executed</p>
736
+
737
+
738
+ </div>
739
+ </div>
740
+ <div class="tags">
741
+
742
+ <div class="examples">
743
+ <p class="tag_title">Examples:</p>
744
+
745
+
746
+ <p class="example_title"><div class='inline'><p>Avoid Camera to move over limits</p>
747
+ </div></p>
748
+
749
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_on_after_move'>on_after_move</span> <span class='kw'>do</span>
750
+ <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'><span class='object_link'><a href="#position-instance_method" title="Camera#position (method)">position</a></span></span><span class='period'>.</span><span class='id identifier rubyid_x'>x</span> <span class='op'>&gt;</span> <span class='int'>100</span>
751
+ <span class='const'><span class='object_link'><a href="" title="Camera (class)">Camera</a></span></span><span class='period'>.</span><span class='id identifier rubyid_main'><span class='object_link'><a href="#main-class_method" title="Camera.main (method)">main</a></span></span><span class='period'>.</span><span class='id identifier rubyid_position'><span class='object_link'><a href="#position-instance_method" title="Camera#position (method)">position</a></span></span><span class='period'>.</span><span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='int'>100</span>
752
+ <span class='kw'>end</span>
753
+ <span class='kw'>end</span></code></pre>
754
+
755
+ </div>
756
+
757
+
758
+ </div><table class="source_code">
759
+ <tr>
760
+ <td>
761
+ <pre class="lines">
762
+
763
+
764
+ 97
765
+ 98
766
+ 99</pre>
767
+ </td>
768
+ <td>
769
+ <pre class="code"><span class="info file"># File 'lib/fantasy/camera.rb', line 97</span>
770
+
771
+ <span class='kw'>def</span> <span class='id identifier rubyid_on_after_move'>on_after_move</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
772
+ <span class='ivar'>@on_after_move_callback</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
773
+ <span class='kw'>end</span></pre>
774
+ </td>
775
+ </tr>
776
+ </table>
777
+ </div>
778
+
779
+ </div>
780
+
781
+ </div>
782
+
783
+ <div id="footer">
784
+ Generated on Sat Apr 2 14:24:12 2022 by
785
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
786
+ 0.9.27 (ruby-3.0.2).
787
+ </div>
788
+
789
+ </div>
790
+ </body>
791
+ </html>