cyross-ruby-miyako 2.0.5.1.0 → 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 (91) hide show
  1. data/README +1092 -929
  2. data/Rakefile +7 -7
  3. data/defines.h +144 -144
  4. data/extern.h +29 -29
  5. data/install_miyako.rb +87 -87
  6. data/lib/Miyako/API/audio.rb +572 -198
  7. data/lib/Miyako/API/basic_data.rb +825 -573
  8. data/lib/Miyako/API/bitmap.rb +534 -507
  9. data/lib/Miyako/API/choices.rb +481 -475
  10. data/lib/Miyako/API/collision.rb +486 -460
  11. data/lib/Miyako/API/diagram.rb +586 -561
  12. data/lib/Miyako/API/drawing.rb +151 -151
  13. data/lib/Miyako/API/exceptions.rb +105 -0
  14. data/lib/Miyako/API/fixedmap.rb +462 -428
  15. data/lib/Miyako/API/font.rb +430 -403
  16. data/lib/Miyako/API/input.rb +456 -447
  17. data/lib/Miyako/API/layout.rb +636 -433
  18. data/lib/Miyako/API/map.rb +583 -529
  19. data/lib/Miyako/API/map_event.rb +222 -198
  20. data/lib/Miyako/API/modules.rb +357 -109
  21. data/lib/Miyako/API/movie.rb +166 -154
  22. data/lib/Miyako/API/parts.rb +276 -189
  23. data/lib/Miyako/API/plane.rb +205 -166
  24. data/lib/Miyako/API/screen.rb +341 -325
  25. data/lib/Miyako/API/shape.rb +443 -443
  26. data/lib/Miyako/API/sprite.rb +771 -752
  27. data/lib/Miyako/API/sprite_animation.rb +490 -481
  28. data/lib/Miyako/API/sprite_list.rb +1135 -0
  29. data/lib/Miyako/API/spriteunit.rb +168 -147
  30. data/lib/Miyako/API/story.rb +350 -300
  31. data/lib/Miyako/API/textbox.rb +770 -725
  32. data/lib/Miyako/API/utility.rb +419 -388
  33. data/lib/Miyako/API/viewport.rb +189 -139
  34. data/lib/Miyako/API/yuki.rb +1226 -996
  35. data/lib/Miyako/EXT/miyako_cairo.rb +62 -62
  36. data/lib/Miyako/EXT/raster_scroll.rb +138 -138
  37. data/lib/Miyako/EXT/slides.rb +157 -157
  38. data/lib/Miyako/miyako.rb +201 -171
  39. data/lib/Miyako/miyako_require_only.rb +35 -0
  40. data/miyako_basicdata.c +590 -590
  41. data/miyako_bitmap.c +1225 -1225
  42. data/miyako_collision.c +403 -403
  43. data/miyako_drawing.c +187 -187
  44. data/miyako_font.c +334 -334
  45. data/miyako_hsv.c +830 -830
  46. data/miyako_input_audio.c +254 -0
  47. data/miyako_layout.c +191 -191
  48. data/miyako_no_katana.c +1078 -1074
  49. data/miyako_sprite2.c +431 -0
  50. data/miyako_transform.c +438 -438
  51. data/miyako_utility.c +288 -288
  52. data/sample/Animation1/m1ku.rb +68 -68
  53. data/sample/Animation2/lex.rb +96 -96
  54. data/sample/Diagram_sample/diagram_sample_yuki2.rb +328 -386
  55. data/sample/Room3/blue.rb +297 -297
  56. data/sample/Room3/ending.rb +180 -180
  57. data/sample/Room3/green.rb +220 -220
  58. data/sample/Room3/main.rb +119 -119
  59. data/sample/Room3/main_component.rb +59 -59
  60. data/sample/Room3/red.rb +227 -227
  61. data/sample/Room3/room3.rb +25 -27
  62. data/sample/Room3/title.rb +184 -184
  63. data/sample/ball_action_sample.rb +204 -204
  64. data/sample/blit_rop.rb +70 -70
  65. data/sample/cairo_sample.rb +25 -25
  66. data/sample/circle_collision_test.rb +66 -66
  67. data/sample/collision_test.rb +33 -33
  68. data/sample/collision_test2.rb +108 -108
  69. data/sample/fixed_map_test/fixed_map_sample.rb +140 -140
  70. data/sample/fixed_map_test/readme.txt +72 -72
  71. data/sample/map_test/chara.rb +58 -58
  72. data/sample/map_test/main_parts.rb +69 -69
  73. data/sample/map_test/main_scene.rb +153 -153
  74. data/sample/map_test/map_manager.rb +75 -75
  75. data/sample/map_test/map_test.rb +23 -23
  76. data/sample/map_test/oasis.rb +71 -71
  77. data/sample/map_test/readme.txt +89 -89
  78. data/sample/map_test/route.rb +157 -157
  79. data/sample/map_test/town.rb +74 -74
  80. data/sample/polygon_test.rb +35 -35
  81. data/sample/rasterscroll.rb +24 -24
  82. data/sample/takahashi.rb +42 -42
  83. data/sample/textbox_sample.rb +189 -189
  84. data/sample/transform.rb +54 -54
  85. data/sample/utility_test.rb +73 -73
  86. data/sample/utility_test2.rb +61 -61
  87. data/sample/utility_test3.rb +64 -64
  88. data/sample/utility_test4.rb +73 -73
  89. data/uninstall_miyako.rb +19 -19
  90. data/win/miyako_no_katana.so +0 -0
  91. metadata +7 -2
@@ -1,157 +1,157 @@
1
- # -*- encoding: utf-8 -*-
2
- # Miyako Extension
3
- =begin
4
- Miyako Extention Library v2.0
5
- Copyright (C) 2007-2008 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
- =end
21
-
22
- module Miyako
23
- #==スライドを構成するモジュール
24
- #Mixinして使用する
25
- #使用するには、initializeメソッドの定義内で、init_slideメソッドを呼び出す必要がある
26
- #ただし、インスタンス変数として、@bodyを予約済み
27
- module Slide
28
- include Layout
29
- extend Forwardable
30
-
31
- @@templates = { }
32
-
33
- #===スライドを作成する
34
- #スライド本体は、Partsクラスのインスタンス
35
- #_params_:: あとで書く
36
- def Slide.create(params = {})
37
- tmp = params.dup
38
- tmp[:size] ||= Size.new(640, 480)
39
- tmp[:type] ||= :ac
40
- tmp[:color] ||= Color[:white]
41
- return Parts.new(tmp[:size]).tap{|obj| obj[:___base___] = Sprite.new(tmp).fill(tmp[:color])}
42
- end
43
-
44
- @@templates["320x240"] = {:size=>Size.new(320,240)}
45
- @@templates["640x480"] = {}
46
- @@templates["800x600"] = {:size=>Size.new(800,600)}
47
- @@templates["white"] = {:color=>[255,255,255,255]}
48
- @@templates["gray"] = {:color=>[128,128,128,255]}
49
- @@templates["black"] = {:color=>[0,0,0,255]}
50
- @@templates["half-white"] = {:color=>[255,255,255,128]}
51
-
52
- #===スライドをテンプレート文字列から作成する
53
- #スライドを所定の名称で生成する。利用できるのは以下の7種類
54
- #"320x240" 大きさは320x240ピクセル、背景は白色
55
- #"640x480" 大きさは640x480ピクセル、背景は白色(デフォルトのテンプレート)
56
- #"800x600" 大きさは800x600ピクセル、背景は白色
57
- #"white" "640x480"と同一
58
- #"gray" 大きさは640x480ピクセル、背景は灰色([128,128,128,255])
59
- #"black" 大きさは640x480ピクセル、背景は黒色([0,0,0,255])
60
- #"half-white" 背景が半分透明な"white"([255,255,255,128])
61
- #_sym_:: テンプレートに対応した文字列
62
- #返却値:: 生成したスライド(Partsクラスインスタンス)
63
- def Slide.[](sym = "640x480")
64
- return Slide.create(@@templates[sym])
65
- end
66
-
67
- #===スライドのテンプレートを追加する
68
- #指定できるテンプレートの内容は、Sprite.newメソッドの引数がそのまま使える(Hashクラスインスタンスとして渡す)
69
- #また、追加として、:colorパラメータを使って塗りつぶす色を指定することが出来る。
70
- #(例):color=>Color[:red]
71
- #_sym_:: テンプレート名
72
- #_params_:: 生成時のパラメータ
73
- def Slide.[]=(sym, params)
74
- @@templates[sym] = params
75
- end
76
-
77
- #===スライド情報を初期化する
78
- #(例)init_slide(Slide.create(:size=>Size.new(320,240), :color=>[255,0,0]))
79
- #(例)init_slide(Slide["640x480"]))
80
- #_template_:: 元となるPartsクラスインスタンス(Slide.createメソッドで作成もしくはSlide.[]で取得できるテンプレートスライド)
81
- def init_slide(template)
82
- init_layout
83
- @body = template
84
- set_layout_size(*(@body.size))
85
- @body.snap(self)
86
- end
87
-
88
- def piece
89
- return self
90
- end
91
-
92
- private :piece
93
-
94
- #===名前に対応したパーツを取得する
95
- #_title_:: 取得したいパーツに対応したシンボル
96
- #返却値:: シンボルに対応したパーツ
97
- def [](title)
98
- return @body[title]
99
- end
100
-
101
- #===パーツに名前を割り付けて設定する
102
- #_title_:: 取得したいパーツに対応したシンボル
103
- #_objs_:: (1)シンボルに対応させるパーツ(スライドにスナップする)
104
- #(2)パーツと、スナップさせるパーツの名前(シンボル)
105
- #返却値:: 自分自身を返す
106
- def []=(title, objs)
107
- @body[title] = objs
108
- return self
109
- end
110
-
111
- #===スライドを画面に描画する
112
- #単純にslide_renderメソッドを呼び出し、結果を返すだけのテンプレートメソッド
113
- #このメソッドを記述し直すことにより、柔軟なrenderを行える
114
- #ブロックを渡すと、スライド,画面側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
115
- #ブロックの引数は、|スライド側SpriteUnit,画面側SpriteUnit|となる。
116
- #返却値:: 自分自身を返す
117
- def render(&block)
118
- return slide_render(&block)
119
- end
120
-
121
- #===スライドを画像に描画する
122
- #単純にslide_render_toメソッドを呼び出し、結果を返すだけのテンプレートメソッド
123
- #このメソッドを記述し直すことにより、柔軟なrenderを行える
124
- #ブロックを渡すと、スライド,画像側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
125
- #ブロックの引数は、|スライド側SpriteUnit,画像側SpriteUnit|となる。
126
- #_dst_:: 描画先画像(Spriteクラスインスタンスなど)
127
- #返却値:: 自分自身を返す
128
- def render_to(dst, &block)
129
- return slide_render_to(dst, &block)
130
- end
131
-
132
- #===スライドを画面に描画する
133
- #ブロックを渡すと、スライド,画面側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
134
- #ブロックの引数は、|スライド側SpriteUnit,画面側SpriteUnit|となる。
135
- #返却値:: 自分自身を返す
136
- def slide_render(&block)
137
- @body.render(&block)
138
- return self
139
- end
140
-
141
- #===スライドを画像に描画する
142
- #ブロックを渡すと、スライド,画像側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
143
- #ブロックの引数は、|スライド側SpriteUnit,画像側SpriteUnit|となる。
144
- #_dst_:: 描画先画像(Spriteクラスインスタンスなど)
145
- #返却値:: 自分自身を返す
146
- def slide_render_to(dst, &block)
147
- @body.render(dst, &block)
148
- return self
149
- end
150
-
151
- #===@bodyに登録したオブジェクトとは別に作成していたインスタンスを解放する
152
- def dispose
153
- end
154
-
155
- def_delegators(:@body, :remove, :each, :start, :stop, :reset, :update, :update_animation)
156
- end
157
- end
1
+ # -*- encoding: utf-8 -*-
2
+ # Miyako Extension
3
+ =begin
4
+ Miyako Extention Library 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
+ =end
21
+
22
+ module Miyako
23
+ #==スライドを構成するモジュール
24
+ #Mixinして使用する
25
+ #使用するには、initializeメソッドの定義内で、init_slideメソッドを呼び出す必要がある
26
+ #ただし、インスタンス変数として、@bodyを予約済み
27
+ module Slide
28
+ include Layout
29
+ extend Forwardable
30
+
31
+ @@templates = { }
32
+
33
+ #===スライドを作成する
34
+ #スライド本体は、Partsクラスのインスタンス
35
+ #_params_:: あとで書く
36
+ def Slide.create(params = {})
37
+ tmp = params.dup
38
+ tmp[:size] ||= Size.new(640, 480)
39
+ tmp[:type] ||= :ac
40
+ tmp[:color] ||= Color[:white]
41
+ return Parts.new(tmp[:size]).tap{|obj| obj[:___base___] = Sprite.new(tmp).fill(tmp[:color])}
42
+ end
43
+
44
+ @@templates["320x240"] = {:size=>Size.new(320,240)}
45
+ @@templates["640x480"] = {}
46
+ @@templates["800x600"] = {:size=>Size.new(800,600)}
47
+ @@templates["white"] = {:color=>[255,255,255,255]}
48
+ @@templates["gray"] = {:color=>[128,128,128,255]}
49
+ @@templates["black"] = {:color=>[0,0,0,255]}
50
+ @@templates["half-white"] = {:color=>[255,255,255,128]}
51
+
52
+ #===スライドをテンプレート文字列から作成する
53
+ #スライドを所定の名称で生成する。利用できるのは以下の7種類
54
+ #"320x240" 大きさは320x240ピクセル、背景は白色
55
+ #"640x480" 大きさは640x480ピクセル、背景は白色(デフォルトのテンプレート)
56
+ #"800x600" 大きさは800x600ピクセル、背景は白色
57
+ #"white" "640x480"と同一
58
+ #"gray" 大きさは640x480ピクセル、背景は灰色([128,128,128,255])
59
+ #"black" 大きさは640x480ピクセル、背景は黒色([0,0,0,255])
60
+ #"half-white" 背景が半分透明な"white"([255,255,255,128])
61
+ #_sym_:: テンプレートに対応した文字列
62
+ #返却値:: 生成したスライド(Partsクラスインスタンス)
63
+ def Slide.[](sym = "640x480")
64
+ return Slide.create(@@templates[sym])
65
+ end
66
+
67
+ #===スライドのテンプレートを追加する
68
+ #指定できるテンプレートの内容は、Sprite.newメソッドの引数がそのまま使える(Hashクラスインスタンスとして渡す)
69
+ #また、追加として、:colorパラメータを使って塗りつぶす色を指定することが出来る。
70
+ #(例):color=>Color[:red]
71
+ #_sym_:: テンプレート名
72
+ #_params_:: 生成時のパラメータ
73
+ def Slide.[]=(sym, params)
74
+ @@templates[sym] = params
75
+ end
76
+
77
+ #===スライド情報を初期化する
78
+ #(例)init_slide(Slide.create(:size=>Size.new(320,240), :color=>[255,0,0]))
79
+ #(例)init_slide(Slide["640x480"]))
80
+ #_template_:: 元となるPartsクラスインスタンス(Slide.createメソッドで作成もしくはSlide.[]で取得できるテンプレートスライド)
81
+ def init_slide(template)
82
+ init_layout
83
+ @body = template
84
+ set_layout_size(*(@body.size))
85
+ @body.snap(self)
86
+ end
87
+
88
+ def piece
89
+ return self
90
+ end
91
+
92
+ private :piece
93
+
94
+ #===名前に対応したパーツを取得する
95
+ #_title_:: 取得したいパーツに対応したシンボル
96
+ #返却値:: シンボルに対応したパーツ
97
+ def [](title)
98
+ return @body[title]
99
+ end
100
+
101
+ #===パーツに名前を割り付けて設定する
102
+ #_title_:: 取得したいパーツに対応したシンボル
103
+ #_objs_:: (1)シンボルに対応させるパーツ(スライドにスナップする)
104
+ #(2)パーツと、スナップさせるパーツの名前(シンボル)
105
+ #返却値:: 自分自身を返す
106
+ def []=(title, objs)
107
+ @body[title] = objs
108
+ return self
109
+ end
110
+
111
+ #===スライドを画面に描画する
112
+ #単純にslide_renderメソッドを呼び出し、結果を返すだけのテンプレートメソッド
113
+ #このメソッドを記述し直すことにより、柔軟なrenderを行える
114
+ #ブロックを渡すと、スライド,画面側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
115
+ #ブロックの引数は、|スライド側SpriteUnit,画面側SpriteUnit|となる。
116
+ #返却値:: 自分自身を返す
117
+ def render(&block)
118
+ return slide_render(&block)
119
+ end
120
+
121
+ #===スライドを画像に描画する
122
+ #単純にslide_render_toメソッドを呼び出し、結果を返すだけのテンプレートメソッド
123
+ #このメソッドを記述し直すことにより、柔軟なrenderを行える
124
+ #ブロックを渡すと、スライド,画像側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
125
+ #ブロックの引数は、|スライド側SpriteUnit,画像側SpriteUnit|となる。
126
+ #_dst_:: 描画先画像(Spriteクラスインスタンスなど)
127
+ #返却値:: 自分自身を返す
128
+ def render_to(dst, &block)
129
+ return slide_render_to(dst, &block)
130
+ end
131
+
132
+ #===スライドを画面に描画する
133
+ #ブロックを渡すと、スライド,画面側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
134
+ #ブロックの引数は、|スライド側SpriteUnit,画面側SpriteUnit|となる。
135
+ #返却値:: 自分自身を返す
136
+ def slide_render(&block)
137
+ @body.render(&block)
138
+ return self
139
+ end
140
+
141
+ #===スライドを画像に描画する
142
+ #ブロックを渡すと、スライド,画像側のSpriteUnitを更新して、それを実際の転送に反映させることが出来る。
143
+ #ブロックの引数は、|スライド側SpriteUnit,画像側SpriteUnit|となる。
144
+ #_dst_:: 描画先画像(Spriteクラスインスタンスなど)
145
+ #返却値:: 自分自身を返す
146
+ def slide_render_to(dst, &block)
147
+ @body.render(dst, &block)
148
+ return self
149
+ end
150
+
151
+ #===@bodyに登録したオブジェクトとは別に作成していたインスタンスを解放する
152
+ def dispose
153
+ end
154
+
155
+ def_delegators(:@body, :remove, :each, :start, :stop, :reset, :update, :update_animation)
156
+ end
157
+ end