ruby-miyako-mswin32 2.1.0

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 (148) hide show
  1. data/README +1115 -0
  2. data/img/cursor.png +0 -0
  3. data/img/cursors.png +0 -0
  4. data/img/dice.png +0 -0
  5. data/img/wait_cursor.png +0 -0
  6. data/img/win_base.png +0 -0
  7. data/img/window.png +0 -0
  8. data/install_miyako.rb +87 -0
  9. data/lib/Miyako/API/audio.rb +584 -0
  10. data/lib/Miyako/API/basic_data.rb +1026 -0
  11. data/lib/Miyako/API/bitmap.rb +534 -0
  12. data/lib/Miyako/API/choices.rb +481 -0
  13. data/lib/Miyako/API/collision.rb +638 -0
  14. data/lib/Miyako/API/diagram.rb +586 -0
  15. data/lib/Miyako/API/drawing.rb +151 -0
  16. data/lib/Miyako/API/exceptions.rb +105 -0
  17. data/lib/Miyako/API/fixedmap.rb +462 -0
  18. data/lib/Miyako/API/font.rb +430 -0
  19. data/lib/Miyako/API/input.rb +456 -0
  20. data/lib/Miyako/API/layout.rb +644 -0
  21. data/lib/Miyako/API/map.rb +583 -0
  22. data/lib/Miyako/API/map_event.rb +222 -0
  23. data/lib/Miyako/API/modules.rb +357 -0
  24. data/lib/Miyako/API/movie.rb +166 -0
  25. data/lib/Miyako/API/parts.rb +188 -0
  26. data/lib/Miyako/API/plane.rb +205 -0
  27. data/lib/Miyako/API/screen.rb +341 -0
  28. data/lib/Miyako/API/shape.rb +443 -0
  29. data/lib/Miyako/API/sprite.rb +773 -0
  30. data/lib/Miyako/API/sprite_animation.rb +494 -0
  31. data/lib/Miyako/API/sprite_list.rb +1135 -0
  32. data/lib/Miyako/API/spriteunit.rb +168 -0
  33. data/lib/Miyako/API/story.rb +350 -0
  34. data/lib/Miyako/API/textbox.rb +773 -0
  35. data/lib/Miyako/API/utility.rb +419 -0
  36. data/lib/Miyako/API/viewport.rb +190 -0
  37. data/lib/Miyako/API/yuki.rb +1180 -0
  38. data/lib/Miyako/EXT/miyako_cairo.rb +62 -0
  39. data/lib/Miyako/EXT/raster_scroll.rb +138 -0
  40. data/lib/Miyako/EXT/slides.rb +157 -0
  41. data/lib/Miyako/miyako.rb +201 -0
  42. data/lib/Miyako/miyako_no_katana.so +0 -0
  43. data/lib/Miyako/miyako_require_only.rb +35 -0
  44. data/logo/EGSR_logo.png +0 -0
  45. data/logo/EGSR_logo_bg.png +0 -0
  46. data/logo/EGSR_logo_fg.png +0 -0
  47. data/logo/EGSR_title_banner.png +0 -0
  48. data/logo/EGSR_title_logo.png +0 -0
  49. data/logo/miyako.png +0 -0
  50. data/logo/miyako_banner.png +0 -0
  51. data/logo/space.png +0 -0
  52. data/sample/Animation1/m1ku.rb +68 -0
  53. data/sample/Animation1/m1ku_arm_0.png +0 -0
  54. data/sample/Animation1/m1ku_arm_1.png +0 -0
  55. data/sample/Animation1/m1ku_arm_2.png +0 -0
  56. data/sample/Animation1/m1ku_arm_3.png +0 -0
  57. data/sample/Animation1/m1ku_back.jpg +0 -0
  58. data/sample/Animation1/m1ku_body.png +0 -0
  59. data/sample/Animation1/m1ku_eye_0.png +0 -0
  60. data/sample/Animation1/m1ku_eye_1.png +0 -0
  61. data/sample/Animation1/m1ku_eye_2.png +0 -0
  62. data/sample/Animation1/m1ku_eye_3.png +0 -0
  63. data/sample/Animation1/m1ku_hair_front.png +0 -0
  64. data/sample/Animation1/m1ku_hair_rear.png +0 -0
  65. data/sample/Animation1/readme.txt +72 -0
  66. data/sample/Animation2/lex.rb +96 -0
  67. data/sample/Animation2/lex_back.png +0 -0
  68. data/sample/Animation2/lex_body.png +0 -0
  69. data/sample/Animation2/lex_roadroller.png +0 -0
  70. data/sample/Animation2/lex_wheel_0.png +0 -0
  71. data/sample/Animation2/lex_wheel_1.png +0 -0
  72. data/sample/Animation2/lex_wheel_2.png +0 -0
  73. data/sample/Animation2/readme.txt +72 -0
  74. data/sample/Animation2/song_title.png +0 -0
  75. data/sample/Diagram_sample/back.png +0 -0
  76. data/sample/Diagram_sample/chr01.png +0 -0
  77. data/sample/Diagram_sample/chr02.png +0 -0
  78. data/sample/Diagram_sample/cursor.png +0 -0
  79. data/sample/Diagram_sample/diagram_sample_yuki2.rb +329 -0
  80. data/sample/Diagram_sample/readme.txt +90 -0
  81. data/sample/Diagram_sample/wait_cursor.png +0 -0
  82. data/sample/Room3/blue.rb +297 -0
  83. data/sample/Room3/ending.rb +180 -0
  84. data/sample/Room3/green.rb +220 -0
  85. data/sample/Room3/image/akamatsu.png +0 -0
  86. data/sample/Room3/image/aoyama.png +0 -0
  87. data/sample/Room3/image/congra.png +0 -0
  88. data/sample/Room3/image/congratulation.png +0 -0
  89. data/sample/Room3/image/congratulation_bg.png +0 -0
  90. data/sample/Room3/image/cursor.png +0 -0
  91. data/sample/Room3/image/midori.png +0 -0
  92. data/sample/Room3/image/mittsu_no_oheya.png +0 -0
  93. data/sample/Room3/image/mittsu_no_oheya_logo.png +0 -0
  94. data/sample/Room3/image/room_blue.png +0 -0
  95. data/sample/Room3/image/room_green.png +0 -0
  96. data/sample/Room3/image/room_red.png +0 -0
  97. data/sample/Room3/image/start.png +0 -0
  98. data/sample/Room3/image/three_doors.png +0 -0
  99. data/sample/Room3/image/wait_cursor.png +0 -0
  100. data/sample/Room3/main.rb +120 -0
  101. data/sample/Room3/main_component.rb +59 -0
  102. data/sample/Room3/readme.txt +76 -0
  103. data/sample/Room3/red.rb +227 -0
  104. data/sample/Room3/room3.rb +25 -0
  105. data/sample/Room3/title.rb +184 -0
  106. data/sample/ball_action_sample.rb +204 -0
  107. data/sample/blit_rop.rb +70 -0
  108. data/sample/cairo_sample.rb +25 -0
  109. data/sample/circle_collision_test.rb +66 -0
  110. data/sample/collision_test.rb +33 -0
  111. data/sample/collision_test2.rb +108 -0
  112. data/sample/fixed_map_test/cursor.png +0 -0
  113. data/sample/fixed_map_test/fixed_map_sample.rb +140 -0
  114. data/sample/fixed_map_test/map.csv +19 -0
  115. data/sample/fixed_map_test/map_01.png +0 -0
  116. data/sample/fixed_map_test/mapchip.csv +23 -0
  117. data/sample/fixed_map_test/monster.png +0 -0
  118. data/sample/fixed_map_test/readme.txt +72 -0
  119. data/sample/map_test/chara.rb +58 -0
  120. data/sample/map_test/chr1.png +0 -0
  121. data/sample/map_test/cursor.png +0 -0
  122. data/sample/map_test/main_parts.rb +69 -0
  123. data/sample/map_test/main_scene.rb +153 -0
  124. data/sample/map_test/map.png +0 -0
  125. data/sample/map_test/map2.png +0 -0
  126. data/sample/map_test/map_layer.csv +127 -0
  127. data/sample/map_test/map_manager.rb +75 -0
  128. data/sample/map_test/map_test.rb +23 -0
  129. data/sample/map_test/mapchip.csv +21 -0
  130. data/sample/map_test/oasis.rb +71 -0
  131. data/sample/map_test/readme.txt +89 -0
  132. data/sample/map_test/route.rb +157 -0
  133. data/sample/map_test/sea.png +0 -0
  134. data/sample/map_test/town.rb +74 -0
  135. data/sample/map_test/wait_cursor.png +0 -0
  136. data/sample/map_test/window.png +0 -0
  137. data/sample/polygon_test.rb +35 -0
  138. data/sample/rasterscroll.rb +25 -0
  139. data/sample/takahashi.rb +42 -0
  140. data/sample/text.png +0 -0
  141. data/sample/textbox_sample.rb +190 -0
  142. data/sample/transform.rb +54 -0
  143. data/sample/utility_test.rb +73 -0
  144. data/sample/utility_test2.rb +61 -0
  145. data/sample/utility_test3.rb +64 -0
  146. data/sample/utility_test4.rb +73 -0
  147. data/uninstall_miyako.rb +19 -0
  148. metadata +199 -0
@@ -0,0 +1,151 @@
1
+ # -*- encoding: utf-8 -*-
2
+ =begin
3
+ --
4
+ Miyako v2.1
5
+ Copyright (C) 2007-2009 Cyross Makoto
6
+
7
+ This library is free software; you can redistribute it and/or
8
+ modify it under the terms of the GNU Lesser General Public
9
+ License as published by the Free Software Foundation; either
10
+ version 2.1 of the License, or (at your option) any later version.
11
+
12
+ This library is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public
18
+ License along with this library; if not, write to the Free Software
19
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ ++
21
+ =end
22
+
23
+ # 線形描画モジュール
24
+ module Miyako
25
+ #==線形描画モジュール
26
+ module Drawing
27
+ #===画像全体を指定の色で塗りつぶす
28
+ #引数spriteにto_unitもしくはbitmapメソッドが定義されていない場合は例外が発生する。
29
+ #_sprite_:: 描画対象のスプライト(to_unitもしくはbitmapメソッドを持つインスタンス)
30
+ #_color_:: 塗りつぶす色。Color.to_rgbメソッドのパラメータでの指定が可能
31
+ #返却値:: 自分自身を返す
32
+ def Drawing.fill(sprite, color)
33
+ color = Color.to_rgb(color)
34
+ methods = sprite.methods
35
+ raise MiyakoError,
36
+ "this method needs sprite have to_method or bitmap method!" if !methods.include?(:to_unit) && !methods.include?(:bitmap)
37
+ bitmap = methods.include?(:to_unit) ? sprite.to_unit.bitmap : methods.include?(:bitmap) ? sprite.bitmap : sprite
38
+ bitmap.draw_rect(0,0, bitmap.w, bitmap.h, color, true, color[3]==255 ? nil : color[3])
39
+ return self
40
+ end
41
+
42
+ #===画像内に点を描画する
43
+ #引数spriteにto_unitもしくはbitmapメソッドが定義されていない場合は例外が発生する。
44
+ #_sprite_:: 描画対象のスプライト(to_unitもしくはbitmapメソッドを持つインスタンス)
45
+ #_rect_:: 描画する矩形。画像の左上を[0,0]とする。4要素の整数の配列かRect構造体を使用
46
+ #_color_:: 描画色。Color.to_rgbメソッドのパラメータでの指定が可能
47
+ #_aa_:: アンチエイリアスの指定。trueでオン。デフォルトはfalse
48
+ #返却値:: 自分自身を返す
49
+ def Drawing.pset(sprite, point, color)
50
+ methods = sprite.methods
51
+ raise MiyakoError,
52
+ "this method needs sprite have to_method or bitmap method!" if !methods.include?(:to_unit) && !methods.include?(:bitmap)
53
+ bitmap = sprite.methods.include?(:to_unit) ? sprite.to_unit.bitmap : sprite.bitmap
54
+ bitmap[point[0], point[1]] = Color.to_rgb(color)
55
+ return self
56
+ end
57
+
58
+ #===画像内に直線を引く
59
+ #引数spriteにto_unitもしくはbitmapメソッドが定義されていない場合は例外が発生する。
60
+ #_sprite_:: 描画対象のスプライト(to_unitもしくはbitmapメソッドを持つインスタンス)
61
+ #_rect_:: 描画する矩形。画像の左上を[0,0]とする。4要素の整数の配列かRect構造体を使用
62
+ #_color_:: 描画色。Color.to_rgbメソッドのパラメータでの指定が可能
63
+ #_aa_:: アンチエイリアスの指定。trueでオン。デフォルトはfalse
64
+ #返却値:: 自分自身を返す
65
+ def Drawing.line(sprite, rect, color, aa = false)
66
+ color = Color.to_rgb(color)
67
+ methods = sprite.methods
68
+ raise MiyakoError,
69
+ "this method needs sprite have to_method or bitmap method!" if !methods.include?(:to_unit) && !methods.include?(:bitmap)
70
+ bitmap = sprite.methods.include?(:to_unit) ? sprite.to_unit.bitmap : sprite.bitmap
71
+ bitmap.draw_line(
72
+ rect[0], rect[1], rect[0]+rect[2]-1, rect[1]+rect[3]-1,
73
+ color, aa, color[3]==255 ? nil : color[3]
74
+ )
75
+ return self
76
+ end
77
+
78
+ #===画像内に矩形を描画する
79
+ #引数spriteにto_unitもしくはbitmapメソッドが定義されていない場合は例外が発生する。
80
+ #_sprite_:: 描画対象のスプライト(to_unitもしくはbitmapメソッドを持つインスタンス)
81
+ #_rect_:: 描画する矩形。画像の左上を[0,0]とする。4要素の整数の配列かRect構造体を使用
82
+ #_color_:: 描画色。Color.to_rgbメソッドのパラメータでの指定が可能
83
+ #_fill_:: 描画の属性。falseで縁のみ描画、trueで内部も塗りつぶす。デフォルトはfalse
84
+ #返却値:: 自分自身を返す
85
+ def Drawing.rect(sprite, rect, color, fill = false)
86
+ color = Color.to_rgb(color)
87
+ methods = sprite.methods
88
+ raise MiyakoError,
89
+ "this method needs sprite have to_method or bitmap method!" if !methods.include?(:to_unit) && !methods.include?(:bitmap)
90
+ bitmap = sprite.methods.include?(:to_unit) ? sprite.to_unit.bitmap : sprite.bitmap
91
+ bitmap.draw_rect(
92
+ rect[0], rect[1], rect[2]-1, rect[3]-1,
93
+ color, fill, color[3]==255 ? nil : color[3]
94
+ )
95
+ return self
96
+ end
97
+
98
+ #===画像内に円を描画する
99
+ #引数spriteにto_unitもしくはbitmapメソッドが定義されていない場合は例外が発生する。
100
+ #_sprite_:: 描画対象のスプライト(to_unitもしくはbitmapメソッドを持つインスタンス)
101
+ #_point_:: 中心の位置。2要素の整数の配列、もしくはPoint構造体を使用可能
102
+ #_r_:: 円の半径。整数を使用可能。
103
+ #_color_:: 描画色。Color.to_rgbメソッドのパラメータでの指定が可能
104
+ #_fill_:: 描画の属性。falseで縁のみ描画、trueで内部も塗りつぶす。デフォルトはfalse
105
+ #_aa_:: アンチエイリアスの指定。trueでオン。デフォルトはfalse
106
+ #返却値:: 自分自身を返す
107
+ def Drawing.circle(sprite, point, r, color, fill = false, aa = false)
108
+ color = Color.to_rgb(color)
109
+ methods = sprite.methods
110
+ raise MiyakoError,
111
+ "this method needs sprite have to_method or bitmap method!" if !methods.include?(:to_unit) && !methods.include?(:bitmap)
112
+ bitmap = sprite.methods.include?(:to_unit) ? sprite.to_unit.bitmap : sprite.bitmap
113
+ bitmap.draw_circle(*point.to_a[0..1], r, color, fill, aa, color[3]==255 ? nil : color[3])
114
+ return self
115
+ end
116
+
117
+ #===画像内に楕円を描画する
118
+ #引数spriteにto_unitもしくはbitmapメソッドが定義されていない場合は例外が発生する。
119
+ #_sprite_:: 描画対象のスプライト(to_unitもしくはbitmapメソッドを持つインスタンス)
120
+ #_point_:: 楕円の中心位置。2要素の整数の配列かPoint構造体を使用
121
+ #_rx_:: x方向半径。1以上の整数
122
+ #_ry_:: y方向半径。1以上の整数
123
+ #_color_:: 描画色。Color.to_rgbメソッドのパラメータでの指定が可能
124
+ #_fill_:: 描画の属性。falseで縁のみ描画、trueで内部も塗りつぶす。デフォルトはfalse
125
+ #_aa_:: アンチエイリアスの指定。trueでオン。デフォルトはfalse
126
+ #返却値:: 自分自身を返す
127
+ def Drawing.ellipse(sprite, point, rx, ry, color, fill = false, aa = false)
128
+ color = Color.to_rgb(color)
129
+ methods = sprite.methods
130
+ raise MiyakoError,
131
+ "this method needs sprite have to_method or bitmap method!" if !methods.include?(:to_unit) && !methods.include?(:bitmap)
132
+ bitmap = sprite.methods.include?(:to_unit) ? sprite.to_unit.bitmap : sprite.bitmap
133
+ bitmap.draw_ellipse(
134
+ point[0], point[1], rx, ry,
135
+ color, fill, aa, color[3]==255 ? nil : color[3]
136
+ )
137
+ end
138
+
139
+ #===画像内に多角形を描画する
140
+ #多角形を描画するとき、頂点のリストは、[x,y]で示した配列のリスト(配列)を渡す。
141
+ #引数spriteにto_unitもしくはbitmapメソッドが定義されていない場合は例外が発生する。
142
+ #_sprite_:: 描画対象のスプライト(to_unitもしくはbitmapメソッドを持つインスタンス)
143
+ #_points_:: 座標の配列。2要素の整数の配列かPoint構造体を使用
144
+ #_color_:: 描画色。Color.to_rgbメソッドのパラメータでの指定が可能
145
+ #_fill_:: 描画の属性。falseで縁のみ描画、trueで内部も塗りつぶす。デフォルトはfalse
146
+ #_aa_:: アンチエイリアスの指定。trueでオン。デフォルトはfalse
147
+ #返却値:: 自分自身を返す
148
+ def Drawing.polygon(sprite, points, color, fill = false, aa = false)
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,105 @@
1
+ # -*- encoding: utf-8 -*-
2
+ =begin
3
+ --
4
+ Miyako v2.1
5
+ Copyright (C) 2007-2009 Cyross Makoto
6
+
7
+ This library is free software; you can redistribute it and/or
8
+ modify it under the terms of the GNU Lesser General Public
9
+ License as published by the Free Software Foundation; either
10
+ version 2.1 of the License, or (at your option) any later version.
11
+
12
+ This library is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ Lesser General Public License for more details.
16
+
17
+ You should have received a copy of the GNU Lesser General Public
18
+ License along with this library; if not, write to the Free Software
19
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
+ ++
21
+ =end
22
+
23
+ # 例外クラス群
24
+ module Miyako
25
+
26
+ #==Miyakoの汎用例外クラス
27
+ class MiyakoError < Exception
28
+ end
29
+
30
+ #==Miyakoの入出力例外クラス
31
+ class MiyakoIOError < MiyakoError
32
+ #===ファイルが見つからなかったときの例外を生成する
33
+ #「ファイルが見つからない」というエラーメッセージを発する
34
+ #例外インスタンスを生成する
35
+ #_path_:: 見つからなかったファイルパス
36
+ #返却値:: 生成した例外インスタンス
37
+ def MiyakoIOError.no_file(path)
38
+ MiyakoIOError.exception("Not found file: #{path}")
39
+ end
40
+ end
41
+
42
+ #==Miyakoのファイル形式例外クラス
43
+ class MiyakoFileFormatError < MiyakoIOError
44
+ #===ファイルが見つからなかったときの例外を生成する
45
+ #「ファイルが見つからない」というエラーメッセージを発する
46
+ #例外インスタンスを生成する
47
+ #_path_:: 見つからなかったファイルパス
48
+ #返却値:: 生成した例外インスタンス
49
+ def MiyakoIOError.illegal_file_foramt(path)
50
+ MiyakoIOError.exception("Illegal file format.: #{path}")
51
+ end
52
+ end
53
+
54
+ #==Miyakoの不正値クラス
55
+ class MiyakoValueError < MiyakoError
56
+ #===不正な値が使われたときの例外を生成する
57
+ #「不正な値が使われました」というエラーメッセージを発する
58
+ #例外インスタンスを生成する
59
+ #_value_:: 使用した値
60
+ #返却値:: 生成した例外インスタンス
61
+ def MiyakoValueError.illegal_value(value)
62
+ MiyakoValueError.exception("Illegal value: #{value}")
63
+ end
64
+
65
+ #===範囲外の値が設定されたときの例外を生成する
66
+ #「範囲外の値が参照しました」というエラーメッセージを発する
67
+ #例外インスタンスを生成する
68
+ #_value_:: 使用した値
69
+ #_min_:: 範囲の下限値
70
+ #_max_:: 範囲の上限値
71
+ #返却値:: 生成した例外インスタンス
72
+ def MiyakoValueError.over_range(value, min, max)
73
+ min = "" unless min
74
+ max = "" unless max
75
+ MiyakoValueError.exception("Out of range: #{value} (range: #{min}..#{max})")
76
+ end
77
+ end
78
+
79
+ #==Proc、ブロック関連エラー(ブロックが渡っていない、など)
80
+ class MiyakoProcError < MiyakoError
81
+
82
+ #===ブロックが必要なときの例外を生成する
83
+ #返却値:: 生成した例外インスタンス
84
+ def MiyakoProcError.need_block
85
+ MiyakoProcError.exception("This method needs block!")
86
+ end
87
+ end
88
+
89
+ #==クラス関連エラー
90
+ class MiyakoTypeError < MiyakoError
91
+ end
92
+
93
+ #==コピーエラー(複写時に起きる例外(複写禁止なのに複写した、など))
94
+ class MiyakoCopyError < MiyakoError
95
+
96
+ #===複製不可のインスタンスを複製したときの例外を生成する
97
+ #「このインスタンスは複製できません」というエラーメッセージを発する
98
+ #例外インスタンスを生成する
99
+ #_class_name_:: 複製しようとした値のクラス名
100
+ #返却値:: 生成した例外インスタンス
101
+ def MiyakoCopyError.not_copy(class_name)
102
+ MiyakoCopyError.exception("#{class_name} class instance cannot allow dup/clone!")
103
+ end
104
+ end
105
+ end