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.
- data/README +1092 -929
- data/Rakefile +7 -7
- data/defines.h +144 -144
- data/extern.h +29 -29
- data/install_miyako.rb +87 -87
- data/lib/Miyako/API/audio.rb +572 -198
- data/lib/Miyako/API/basic_data.rb +825 -573
- data/lib/Miyako/API/bitmap.rb +534 -507
- data/lib/Miyako/API/choices.rb +481 -475
- data/lib/Miyako/API/collision.rb +486 -460
- data/lib/Miyako/API/diagram.rb +586 -561
- data/lib/Miyako/API/drawing.rb +151 -151
- data/lib/Miyako/API/exceptions.rb +105 -0
- data/lib/Miyako/API/fixedmap.rb +462 -428
- data/lib/Miyako/API/font.rb +430 -403
- data/lib/Miyako/API/input.rb +456 -447
- data/lib/Miyako/API/layout.rb +636 -433
- data/lib/Miyako/API/map.rb +583 -529
- data/lib/Miyako/API/map_event.rb +222 -198
- data/lib/Miyako/API/modules.rb +357 -109
- data/lib/Miyako/API/movie.rb +166 -154
- data/lib/Miyako/API/parts.rb +276 -189
- data/lib/Miyako/API/plane.rb +205 -166
- data/lib/Miyako/API/screen.rb +341 -325
- data/lib/Miyako/API/shape.rb +443 -443
- data/lib/Miyako/API/sprite.rb +771 -752
- data/lib/Miyako/API/sprite_animation.rb +490 -481
- data/lib/Miyako/API/sprite_list.rb +1135 -0
- data/lib/Miyako/API/spriteunit.rb +168 -147
- data/lib/Miyako/API/story.rb +350 -300
- data/lib/Miyako/API/textbox.rb +770 -725
- data/lib/Miyako/API/utility.rb +419 -388
- data/lib/Miyako/API/viewport.rb +189 -139
- data/lib/Miyako/API/yuki.rb +1226 -996
- data/lib/Miyako/EXT/miyako_cairo.rb +62 -62
- data/lib/Miyako/EXT/raster_scroll.rb +138 -138
- data/lib/Miyako/EXT/slides.rb +157 -157
- data/lib/Miyako/miyako.rb +201 -171
- data/lib/Miyako/miyako_require_only.rb +35 -0
- data/miyako_basicdata.c +590 -590
- data/miyako_bitmap.c +1225 -1225
- data/miyako_collision.c +403 -403
- data/miyako_drawing.c +187 -187
- data/miyako_font.c +334 -334
- data/miyako_hsv.c +830 -830
- data/miyako_input_audio.c +254 -0
- data/miyako_layout.c +191 -191
- data/miyako_no_katana.c +1078 -1074
- data/miyako_sprite2.c +431 -0
- data/miyako_transform.c +438 -438
- data/miyako_utility.c +288 -288
- data/sample/Animation1/m1ku.rb +68 -68
- data/sample/Animation2/lex.rb +96 -96
- data/sample/Diagram_sample/diagram_sample_yuki2.rb +328 -386
- data/sample/Room3/blue.rb +297 -297
- data/sample/Room3/ending.rb +180 -180
- data/sample/Room3/green.rb +220 -220
- data/sample/Room3/main.rb +119 -119
- data/sample/Room3/main_component.rb +59 -59
- data/sample/Room3/red.rb +227 -227
- data/sample/Room3/room3.rb +25 -27
- data/sample/Room3/title.rb +184 -184
- data/sample/ball_action_sample.rb +204 -204
- data/sample/blit_rop.rb +70 -70
- data/sample/cairo_sample.rb +25 -25
- data/sample/circle_collision_test.rb +66 -66
- data/sample/collision_test.rb +33 -33
- data/sample/collision_test2.rb +108 -108
- data/sample/fixed_map_test/fixed_map_sample.rb +140 -140
- data/sample/fixed_map_test/readme.txt +72 -72
- data/sample/map_test/chara.rb +58 -58
- data/sample/map_test/main_parts.rb +69 -69
- data/sample/map_test/main_scene.rb +153 -153
- data/sample/map_test/map_manager.rb +75 -75
- data/sample/map_test/map_test.rb +23 -23
- data/sample/map_test/oasis.rb +71 -71
- data/sample/map_test/readme.txt +89 -89
- data/sample/map_test/route.rb +157 -157
- data/sample/map_test/town.rb +74 -74
- data/sample/polygon_test.rb +35 -35
- data/sample/rasterscroll.rb +24 -24
- data/sample/takahashi.rb +42 -42
- data/sample/textbox_sample.rb +189 -189
- data/sample/transform.rb +54 -54
- data/sample/utility_test.rb +73 -73
- data/sample/utility_test2.rb +61 -61
- data/sample/utility_test3.rb +64 -64
- data/sample/utility_test4.rb +73 -73
- data/uninstall_miyako.rb +19 -19
- data/win/miyako_no_katana.so +0 -0
- metadata +7 -2
data/lib/Miyako/EXT/slides.rb
CHANGED
@@ -1,157 +1,157 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# Miyako Extension
|
3
|
-
=begin
|
4
|
-
Miyako Extention Library v2.
|
5
|
-
Copyright (C) 2007-
|
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
|