ruby-miyako 2.1.2 → 2.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README +84 -3
- data/lib/Miyako/API/i_yuki.rb +274 -16
- data/lib/Miyako/API/textbox.rb +1 -1
- data/lib/Miyako/API/yuki.rb +274 -16
- data/lib/Miyako/EXT/slides.rb +119 -10
- data/lib/Miyako/miyako.rb +2 -2
- data/sample/Room3/blue.rb +15 -13
- data/sample/Room3/ending.rb +8 -9
- data/sample/Room3/green.rb +16 -13
- data/sample/Room3/main.rb +15 -14
- data/sample/Room3/main_component.rb +1 -0
- data/sample/Room3/red.rb +16 -14
- data/sample/Room3/title.rb +6 -6
- data/win/miyako_no_katana.so +0 -0
- metadata +2 -2
data/README
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
*******************************************************************************
|
2
2
|
【 作者名 】 サイロス誠
|
3
3
|
【 ソフト名 】 Interactive Media Authoring System "Miyako"
|
4
|
-
【 バージョン 】 2.1.
|
5
|
-
【 作成日 】 2009/10
|
4
|
+
【 バージョン 】 2.1.4
|
5
|
+
【 作成日 】 2009/11/10
|
6
6
|
【 種別 】 フリーウェア
|
7
7
|
【 開発言語 】 Ruby 1.9.1
|
8
8
|
【 ランタイム 】 Ruby 1.9.1~,Ruby/SDL 2.1~,SDL
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
【 注意事項 】
|
17
17
|
|
18
|
-
本バージョンは、2.1.
|
18
|
+
本バージョンは、2.1.4公式リリース版です。
|
19
19
|
本バージョンでは、ドキュメント・リファレンスは不十分ですが、「サイログ。」内や、サンプルプログラムの紹介等で随時ドキュメントを公開して行きます。
|
20
20
|
(RDOC化を進めていますので、我こそはと思う方は是非・・・)
|
21
21
|
|
@@ -1398,5 +1398,86 @@ v2.1.2(2009.10.25)
|
|
1398
1398
|
・Sprite#render_rect2_xy_to
|
1399
1399
|
<インスタンスメソッド廃止>
|
1400
1400
|
|
1401
|
+
v2.1.3(2009.10.28)
|
1402
|
+
<バグ修正>
|
1403
|
+
<機能改善>
|
1404
|
+
・Slideモジュールの見直し(update,update_animationなどをオーバーライドしやすいように)
|
1405
|
+
<仕様変更>
|
1406
|
+
<ファイル追加>
|
1407
|
+
<ファイル削除>
|
1408
|
+
<グローバル変数追加>
|
1409
|
+
<定数追加>
|
1410
|
+
<定数削除>
|
1411
|
+
<構造体追加>
|
1412
|
+
<クラス追加>
|
1413
|
+
<モジュール追加>
|
1414
|
+
<mixin>
|
1415
|
+
<クラス・モジュールメソッド追加>
|
1416
|
+
<クラス・モジュールメソッド廃止>
|
1417
|
+
<モジュール関数追加>
|
1418
|
+
Slide#.slide_body
|
1419
|
+
Slide#.slide_show
|
1420
|
+
Slide#.slide_hide
|
1421
|
+
Slide#.slide_update
|
1422
|
+
Slide#.slide_update_animation
|
1423
|
+
Slide#.slide_start
|
1424
|
+
Slide#.slide_stop
|
1425
|
+
Slide#.slide_reset
|
1426
|
+
<インスタンスメソッド追加>
|
1427
|
+
<インスタンスメソッド廃止>
|
1428
|
+
|
1429
|
+
v2.1.4(2009.11.10)
|
1430
|
+
<バグ修正>
|
1431
|
+
・Yuki#commandメソッドで、テキストボックスとコマンドボックスを強要している時、コマンド選択後にテキストボックスが描画されないバグを修正
|
1432
|
+
・TextBox#visible,visible=が機能していないバグを修正
|
1433
|
+
<機能改善>
|
1434
|
+
・Slide.createの引数に、:emptyを追加(スライドを示すスプライトを作るかどうか)
|
1435
|
+
・Yuki#select_textboxで指定した時に、自動的に同じボックスをコマンドボックスとして登録できるようにした(以前は同じボックスを共用するときでも、select_commandboxを呼び出す必要があった)
|
1436
|
+
・サンプルゲーム「3つの部屋」を2.1.4準拠に変更
|
1437
|
+
<仕様変更>
|
1438
|
+
・(Initiative)Yuki#select_textboxの引数に、省略可能な第2引数を追加(テキストボックス全体を渡せる)
|
1439
|
+
・(Initiative)Yuki#select_commandboxの引数に、省略可能な第2引数を追加(テキストボックス全体を渡せる)
|
1440
|
+
・メソッド名変更: (Initiative)Yuki#visibles -> visibles_names
|
1441
|
+
・(Initiative)Yuki#visibles の内容を変更(表示可能なスプライト→表示対象のスプライト)
|
1442
|
+
・(Initiative)Yuki#show,hideの引数を省略したときは、全ての画像を描画可能・不可能に変更
|
1443
|
+
<ファイル追加>
|
1444
|
+
<ファイル削除>
|
1445
|
+
<グローバル変数追加>
|
1446
|
+
<定数追加>
|
1447
|
+
<定数削除>
|
1448
|
+
<構造体追加>
|
1449
|
+
<クラス追加>
|
1450
|
+
<モジュール追加>
|
1451
|
+
<mixin>
|
1452
|
+
<クラス・モジュールメソッド追加>
|
1453
|
+
<クラス・モジュールメソッド廃止>
|
1454
|
+
<モジュール関数追加>
|
1455
|
+
<インスタンスメソッド追加>
|
1456
|
+
・(Initiative)Yuki#textbox_all
|
1457
|
+
・(Initiative)Yuki#commandbox_all
|
1458
|
+
・(Initiative)Yuki#enable_mouse
|
1459
|
+
・(Initiative)Yuki#disenable_mouse
|
1460
|
+
・(Initiative)Yuki#mouse_enable?
|
1461
|
+
・(Initiative)Yuki#pre_visibles_names
|
1462
|
+
・(Initiative)Yuki#bgs_names
|
1463
|
+
・(Initiative)Yuki#pre_visibles
|
1464
|
+
・(Initiative)Yuki#bgs
|
1465
|
+
・(Initiative)Yuki#load_sprite
|
1466
|
+
・(Initiative)Yuki#load_bg
|
1467
|
+
・(Initiative)Yuki#load_bgm
|
1468
|
+
・(Initiative)Yuki#load_se
|
1469
|
+
・(Initiative)Yuki#pre_show
|
1470
|
+
・(Initiative)Yuki#pre_hide
|
1471
|
+
・(Initiative)Yuki#bg_show
|
1472
|
+
・(Initiative)Yuki#bg_hide
|
1473
|
+
・(Initiative)Yuki#bg_show
|
1474
|
+
・(Initiative)Yuki#bg_hide
|
1475
|
+
・(Initiative)Yuki#show_textbox
|
1476
|
+
・(Initiative)Yuki#show_commandbox
|
1477
|
+
・(Initiative)Yuki#hide_textbox
|
1478
|
+
・(Initiative)Yuki#hide_commandbox
|
1479
|
+
・(Initiative)Yuki#box_shared?
|
1480
|
+
<インスタンスメソッド廃止>
|
1481
|
+
|
1401
1482
|
*******************************************************************************
|
1402
1483
|
このReadMeファイルは「れ~どめ~えじた~」によって作成されました。
|
data/lib/Miyako/API/i_yuki.rb
CHANGED
@@ -99,7 +99,7 @@ module Miyako
|
|
99
99
|
#_enabe_:: コマンド選択の時はtrue、選択不可の時はfalseを設定
|
100
100
|
CommandEX = Struct.new(:body, :body_selected, :condition, :result, :end_select_proc, :body_disable, :enable)
|
101
101
|
|
102
|
-
attr_reader :visibles, :base
|
102
|
+
attr_reader :visibles, :pre_visibles, :bgs, :base
|
103
103
|
attr_reader :valign
|
104
104
|
#release_checks:: ポーズ解除を問い合わせるブロックの配列。
|
105
105
|
#callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
|
@@ -158,6 +158,8 @@ module Miyako
|
|
158
158
|
@yuki = { }
|
159
159
|
@text_box = nil
|
160
160
|
@command_box = nil
|
161
|
+
@text_box_all = nil
|
162
|
+
@command_box_all = nil
|
161
163
|
|
162
164
|
@exec_plot = nil
|
163
165
|
|
@@ -171,11 +173,15 @@ module Miyako
|
|
171
173
|
@select_amount = [0, 0]
|
172
174
|
@mouse_amount = nil
|
173
175
|
|
176
|
+
@mouse_enable = true
|
177
|
+
|
174
178
|
@result = nil
|
175
179
|
@plot_result = nil
|
176
180
|
|
177
181
|
@parts = {}
|
178
182
|
@visibles = SpriteList.new
|
183
|
+
@pre_visibles = SpriteList.new
|
184
|
+
@bgs = SpriteList.new
|
179
185
|
@vars = {}
|
180
186
|
|
181
187
|
@text_methods = {:char => self.method(:text_by_char),
|
@@ -184,15 +190,15 @@ module Miyako
|
|
184
190
|
|
185
191
|
@valign = :middle
|
186
192
|
|
187
|
-
@release_checks_default = [lambda{ Input.pushed_any?(:btn1, :spc) }, lambda{ Input.click?(:left) } ]
|
193
|
+
@release_checks_default = [lambda{ Input.pushed_any?(:btn1, :spc) }, lambda{ @mouse_enable && Input.click?(:left) } ]
|
188
194
|
@release_checks = @release_checks_default.dup
|
189
195
|
|
190
196
|
@ok_checks_default = [lambda{ Input.pushed_any?(:btn1, :spc) },
|
191
|
-
lambda{ self.commandbox.attach_any_command?(*Input.get_mouse_position) && Input.click?(:left) } ]
|
197
|
+
lambda{ @mouse_enable && self.commandbox.attach_any_command?(*Input.get_mouse_position) && Input.click?(:left) } ]
|
192
198
|
@ok_checks = @ok_checks_default.dup
|
193
199
|
|
194
200
|
@cancel_checks_default = [lambda{ Input.pushed_any?(:btn2, :esc) },
|
195
|
-
lambda{ Input.click?(:right) } ]
|
201
|
+
lambda{ @mouse_enable && Input.click?(:right) } ]
|
196
202
|
@cancel_checks = @cancel_checks_default.dup
|
197
203
|
|
198
204
|
@key_amount_proc = lambda{ Input.pushed_amount }
|
@@ -264,6 +270,33 @@ module Miyako
|
|
264
270
|
@base.waiting_inner(yuki)
|
265
271
|
end
|
266
272
|
|
273
|
+
#===マウスでの制御を可能にする
|
274
|
+
#ゲームパッド・キーボードでのコマンド・ポーズ制御を行えるが、
|
275
|
+
#それに加えて、マウスでもゲームパッド・キーボードでの制御が行える
|
276
|
+
#Yukiクラスインスタンス生成時はマウス利用可能
|
277
|
+
#返却値:: 自分自身を返す
|
278
|
+
def enable_mouse
|
279
|
+
@mouse_enable = true
|
280
|
+
return self
|
281
|
+
end
|
282
|
+
|
283
|
+
#===マウスでの制御を不可にする
|
284
|
+
#ゲームパッド・キーボードでのコマンド・ポーズ制御を行えるが、
|
285
|
+
#マウスでの利用を制限する
|
286
|
+
#Yukiクラスインスタンス生成時はマウス利用可能
|
287
|
+
#返却値:: 自分自身を返す
|
288
|
+
def disable_mouse
|
289
|
+
@mouse_enable = false
|
290
|
+
return self
|
291
|
+
end
|
292
|
+
|
293
|
+
#===マウスでの制御を可・不可を問い合わせる
|
294
|
+
#マウスを利用できるときはtrue、利用できないときはfalseを返す
|
295
|
+
#返却値:: true/false
|
296
|
+
def mouse_enable?
|
297
|
+
@mouse_enable
|
298
|
+
end
|
299
|
+
|
267
300
|
#===Yuki#showで表示指定した画像を描画する
|
268
301
|
#描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される)
|
269
302
|
#なお、visibleの値がfalseの時は描画されない。
|
@@ -370,10 +403,34 @@ module Miyako
|
|
370
403
|
#(例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。
|
371
404
|
#
|
372
405
|
#返却値:: 描画対象リスト
|
373
|
-
def
|
406
|
+
def visibles_names
|
374
407
|
@visibles.names
|
375
408
|
end
|
376
409
|
|
410
|
+
#===現在描画対象のパーツ名のリストを取得する
|
411
|
+
#[[Yukiスクリプトとして利用可能]]
|
412
|
+
#現在描画しているパーツ名の配列を参照する。
|
413
|
+
#実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。
|
414
|
+
#Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される
|
415
|
+
#(例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。
|
416
|
+
#
|
417
|
+
#返却値:: 描画対象リスト
|
418
|
+
def pre_visibles_names
|
419
|
+
@pre_visibles.names
|
420
|
+
end
|
421
|
+
|
422
|
+
#===現在描画対象のパーツ名のリストを取得する
|
423
|
+
#[[Yukiスクリプトとして利用可能]]
|
424
|
+
#現在描画しているパーツ名の配列を参照する。
|
425
|
+
#実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。
|
426
|
+
#Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される
|
427
|
+
#(例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。
|
428
|
+
#
|
429
|
+
#返却値:: 描画対象リスト
|
430
|
+
def bgs_names
|
431
|
+
@bgs.names
|
432
|
+
end
|
433
|
+
|
377
434
|
#===オブジェクトを登録する
|
378
435
|
#[[Yukiスクリプトとして利用可能]]
|
379
436
|
#オブジェクトをパーツnameとして登録する。
|
@@ -388,29 +445,45 @@ module Miyako
|
|
388
445
|
end
|
389
446
|
|
390
447
|
#===表示・描画対象のテキストボックスを選択する
|
448
|
+
#第2引数として、テキストボックス全体を渡せる(省略可能)
|
449
|
+
#第1引数が、PartsやSpriteListの1部分のときに、第2引数を渡すことで、
|
450
|
+
#テキストボックス全体を制御可能
|
451
|
+
#第2引数を省略時は、全バージョンに引き続いて、テキストボックス本体のみを制御する
|
391
452
|
#[[Yukiスクリプトとして利用可能]]
|
392
|
-
#_box_::
|
453
|
+
#_box_:: テキストボックス本体
|
454
|
+
#_box_all_:: テキストボックス全体
|
393
455
|
#
|
394
456
|
#返却値:: 自分自身を返す
|
395
|
-
def select_textbox(box)
|
457
|
+
def select_textbox(box, box_all = nil)
|
396
458
|
@text_box = box
|
459
|
+
@text_box_all = box_all || box
|
460
|
+
unless @command_box
|
461
|
+
@command_box = @text_box
|
462
|
+
@command_box_all = @text_box_all
|
463
|
+
end
|
397
464
|
return self
|
398
465
|
end
|
399
466
|
|
400
467
|
#===表示・描画対象のコマンドボックスを選択する
|
468
|
+
#第2引数として、テキストボックス全体を渡せる(省略可能)
|
469
|
+
#第1引数が、PartsやSpriteListの1部分のときに、第2引数を渡すことで、
|
470
|
+
#テキストボックス全体を制御可能
|
471
|
+
#第2引数を省略時は、全バージョンに引き続いて、テキストボックス本体のみを制御する
|
401
472
|
#[[Yukiスクリプトとして利用可能]]
|
402
|
-
#_box_::
|
473
|
+
#_box_:: テキストボックス本体
|
474
|
+
#_box_all_:: テキストボックス全体
|
403
475
|
#
|
404
476
|
#返却値:: 自分自身を返す
|
405
|
-
def select_commandbox(box)
|
477
|
+
def select_commandbox(box, box_all = nil)
|
406
478
|
@command_box = box
|
479
|
+
@command_box_all = box_all || box
|
407
480
|
return self
|
408
481
|
end
|
409
482
|
|
410
483
|
#===テキストボックスを取得する
|
411
484
|
#[[Yukiスクリプトとして利用可能]]
|
412
485
|
#テキストボックスが登録されていないときはnilを返す
|
413
|
-
#返却値::
|
486
|
+
#返却値:: テキストボックス
|
414
487
|
def textbox
|
415
488
|
return @text_box
|
416
489
|
end
|
@@ -418,11 +491,68 @@ module Miyako
|
|
418
491
|
#===コマンドボックスを取得する
|
419
492
|
#[[Yukiスクリプトとして利用可能]]
|
420
493
|
#コマンドボックスが登録されていないときはnilを返す
|
421
|
-
#返却値::
|
494
|
+
#返却値:: コマンドボックス
|
422
495
|
def commandbox
|
423
496
|
return @command_box
|
424
497
|
end
|
425
498
|
|
499
|
+
#===テキストボックス全体を取得する
|
500
|
+
#[[Yukiスクリプトとして利用可能]]
|
501
|
+
#テキストボックスが登録されていないときはnilを返す
|
502
|
+
#返却値:: テキストボックス全体
|
503
|
+
def textbox_all
|
504
|
+
return @text_box_all
|
505
|
+
end
|
506
|
+
|
507
|
+
#===コマンドボックス全体を取得する
|
508
|
+
#[[Yukiスクリプトとして利用可能]]
|
509
|
+
#コマンドボックスが登録されていないときはnilを返す
|
510
|
+
#返却値:: コマンドボックス全体
|
511
|
+
def commandbox_all
|
512
|
+
return @command_box_all
|
513
|
+
end
|
514
|
+
|
515
|
+
#===テキストボックスを描画可能にする
|
516
|
+
#[[Yukiスクリプトとして利用可能]]
|
517
|
+
#返却値:: レシーバ
|
518
|
+
def show_textbox
|
519
|
+
@text_box_all.show
|
520
|
+
return self
|
521
|
+
end
|
522
|
+
|
523
|
+
#===コマンドボックスを描画可能にする
|
524
|
+
#[[Yukiスクリプトとして利用可能]]
|
525
|
+
#返却値:: レシーバ
|
526
|
+
def show_commandbox
|
527
|
+
@command_box_all.show
|
528
|
+
return self
|
529
|
+
end
|
530
|
+
|
531
|
+
#===テキストボックスを描画不可能にする
|
532
|
+
#[[Yukiスクリプトとして利用可能]]
|
533
|
+
#返却値:: レシーバ
|
534
|
+
def hide_textbox
|
535
|
+
@text_box_all.hide
|
536
|
+
return self
|
537
|
+
end
|
538
|
+
|
539
|
+
#===コマンドボックスを描画不可能にする
|
540
|
+
#[[Yukiスクリプトとして利用可能]]
|
541
|
+
#返却値:: レシーバ
|
542
|
+
def hide_commandbox
|
543
|
+
@command_box_all.hide
|
544
|
+
return self
|
545
|
+
end
|
546
|
+
|
547
|
+
#===コマンドボックスとテキストボックスを共用しているか問い合わせる
|
548
|
+
#[[Yukiスクリプトとして利用可能]]
|
549
|
+
#テキストボックスとコマンドボックスを共用しているときはtrueを返す
|
550
|
+
#共用していなければfalseを返す
|
551
|
+
#返却値:: true/false
|
552
|
+
def box_shared?
|
553
|
+
@text_box_all.object_id == @command_box_all.object_id
|
554
|
+
end
|
555
|
+
|
426
556
|
#===オブジェクトの登録を解除する
|
427
557
|
#[[Yukiスクリプトとして利用可能]]
|
428
558
|
#パーツnameとして登録されているオブジェクトを登録から解除する。
|
@@ -441,9 +571,13 @@ module Miyako
|
|
441
571
|
#_names_:: パーツ名(シンボル)、複数指定可能(指定した順番に描画される)
|
442
572
|
#返却値:: 自分自身を返す
|
443
573
|
def show(*names)
|
574
|
+
if names.length == 0
|
575
|
+
@visibles.each_value{|sprite| sprite.show}
|
576
|
+
return self
|
577
|
+
end
|
444
578
|
names.each{|name|
|
445
|
-
@visibles.add(name, @parts[name])
|
446
|
-
@
|
579
|
+
@visibles.add(name, @parts[name]) unless @visibles.include?(name)
|
580
|
+
@visibles[name].show
|
447
581
|
}
|
448
582
|
return self
|
449
583
|
end
|
@@ -454,13 +588,134 @@ module Miyako
|
|
454
588
|
#_names_:: パーツ名(シンボル)、複数指定可能
|
455
589
|
#返却値:: 自分自身を返す
|
456
590
|
def hide(*names)
|
591
|
+
if names.length == 0
|
592
|
+
@visibles.each_value{|sprite| sprite.hide}
|
593
|
+
return self
|
594
|
+
end
|
595
|
+
names.each{|name| @visibles[name].hide }
|
596
|
+
return self
|
597
|
+
end
|
598
|
+
|
599
|
+
#===パーツで指定したオブジェクトを先頭に表示する
|
600
|
+
#[[Yukiスクリプトとして利用可能]]
|
601
|
+
#描画時に、指定したパーツを描画する
|
602
|
+
#すでにshowメソッドで表示指定している場合は、先頭に表示させる
|
603
|
+
#_names_:: パーツ名(シンボル)、複数指定可能(指定した順番に描画される)
|
604
|
+
#返却値:: 自分自身を返す
|
605
|
+
def pre_show(*names)
|
606
|
+
if names.length == 0
|
607
|
+
@pre_visibles.each_value{|sprite| sprite.show}
|
608
|
+
return self
|
609
|
+
end
|
610
|
+
names.each{|name|
|
611
|
+
@pre_visibles.add(name, @parts[name]) unless @pre_visibles.include?(name)
|
612
|
+
@pre_visibles[name].show
|
613
|
+
}
|
614
|
+
return self
|
615
|
+
end
|
616
|
+
|
617
|
+
#===パーツで指定したオブジェクトを隠蔽する
|
618
|
+
#[[Yukiスクリプトとして利用可能]]
|
619
|
+
#描画時に、指定したパーツを描画させないよう指定する
|
620
|
+
#_names_:: パーツ名(シンボル)、複数指定可能
|
621
|
+
#返却値:: 自分自身を返す
|
622
|
+
def pre_hide(*names)
|
623
|
+
if names.length == 0
|
624
|
+
@pre_visibles.each_value{|sprite| sprite.hide}
|
625
|
+
return self
|
626
|
+
end
|
627
|
+
names.each{|name| @pre_visibles[name].hide }
|
628
|
+
return self
|
629
|
+
end
|
630
|
+
|
631
|
+
#===パーツで指定した背景を表示する
|
632
|
+
#[[Yukiスクリプトとして利用可能]]
|
633
|
+
#描画時に、指定したパーツを描画する
|
634
|
+
#すでにshowメソッドで表示指定している場合は、先頭に表示させる
|
635
|
+
#_names_:: パーツ名(シンボル)、複数指定可能(指定した順番に描画される)
|
636
|
+
#返却値:: 自分自身を返す
|
637
|
+
def bg_show(*names)
|
638
|
+
if names.length == 0
|
639
|
+
@bgs.each_value{|sprite| sprite.show}
|
640
|
+
return self
|
641
|
+
end
|
457
642
|
names.each{|name|
|
458
|
-
@parts[name].
|
459
|
-
@
|
643
|
+
@bgs.add(name, @parts[name]) unless @bgs.include?(name)
|
644
|
+
@bgs[name].show
|
460
645
|
}
|
461
646
|
return self
|
462
647
|
end
|
463
648
|
|
649
|
+
#===パーツで指定した背景を隠蔽する
|
650
|
+
#[[Yukiスクリプトとして利用可能]]
|
651
|
+
#描画時に、指定したパーツを描画させないよう指定する
|
652
|
+
#_names_:: パーツ名(シンボル)、複数指定可能
|
653
|
+
#返却値:: 自分自身を返す
|
654
|
+
def bg_hide(*names)
|
655
|
+
if names.length == 0
|
656
|
+
@bgs.each_value{|sprite| sprite.hide}
|
657
|
+
return self
|
658
|
+
end
|
659
|
+
names.each{|name| @bgs[name].hide }
|
660
|
+
return self
|
661
|
+
end
|
662
|
+
|
663
|
+
#===ファイル名で指定したスプライトを登録する
|
664
|
+
#[[Yukiスクリプトとして利用可能]]
|
665
|
+
#画面に表示するスプライトを登録する
|
666
|
+
#すでにshowメソッドで表示指定している場合は、先頭に表示させる
|
667
|
+
#_name_:: スプライト名(重複するときは上書き)
|
668
|
+
#_filename_:: 読み込むファイル名
|
669
|
+
#_pre_:: pre_visiblesに登録するときはtrue、visiblesに登録するときはfalseを渡す
|
670
|
+
# 省略時はfalse
|
671
|
+
#返却値:: 自分自身を返す
|
672
|
+
def load_sprite(name, filename, pre=false)
|
673
|
+
spr = Sprite.new(:file=>filename, :type=>:ac)
|
674
|
+
@parts[name] = spr
|
675
|
+
@parts[name].hide
|
676
|
+
pre ? @pre_visibles.add(name, @parts[name]) : @visibles.add(name, @parts[name])
|
677
|
+
return self
|
678
|
+
end
|
679
|
+
|
680
|
+
#===背景を登録する
|
681
|
+
#[[Yukiスクリプトとして利用可能]]
|
682
|
+
#画面に表示する背景を登録する
|
683
|
+
#すでにshowメソッドで表示指定している場合は、先頭に表示させる
|
684
|
+
#_name_:: スプライト名(重複するときは上書き)
|
685
|
+
#_filename_:: 読み込むファイル名
|
686
|
+
#返却値:: 自分自身を返す
|
687
|
+
def load_bg(name, filename)
|
688
|
+
spr = Sprite.new(:file=>filename, :type=>:ac)
|
689
|
+
@parts[name] = spr
|
690
|
+
@parts[name].hide
|
691
|
+
@bgs.add(name, @parts[name])
|
692
|
+
return self
|
693
|
+
end
|
694
|
+
|
695
|
+
#===BGMを登録する
|
696
|
+
#[[Yukiスクリプトとして利用可能]]
|
697
|
+
#音声ファイルを読み込み、BGMとして登録する
|
698
|
+
#登録したBGMはpartsメソッドを使って参照できる
|
699
|
+
#_name_:: スプライト名(重複するときは上書き)
|
700
|
+
#_filename_:: 読み込むファイル名
|
701
|
+
#返却値:: 自分自身を返す
|
702
|
+
def load_bgm(name, filename)
|
703
|
+
@parts[name] = Audio::BGM.new(filename)
|
704
|
+
return self
|
705
|
+
end
|
706
|
+
|
707
|
+
#===効果音を登録する
|
708
|
+
#[[Yukiスクリプトとして利用可能]]
|
709
|
+
#音声ファイルを読み込み、効果音として登録する
|
710
|
+
#登録した効果音はpartsメソッドを使って参照できる
|
711
|
+
#_name_:: スプライト名(重複するときは上書き)
|
712
|
+
#_filename_:: 読み込むファイル名
|
713
|
+
#返却値:: 自分自身を返す
|
714
|
+
def load_se(name, filename)
|
715
|
+
@parts[name] = Audio::SE.new(filename)
|
716
|
+
return self
|
717
|
+
end
|
718
|
+
|
464
719
|
#===パーツで指定したオブジェクトの処理を開始する
|
465
720
|
#[[Yukiスクリプトとして利用可能]]
|
466
721
|
#nameで指定したパーツが持つ処理(例:アニメーション)を開始する。
|
@@ -1068,6 +1323,7 @@ module Miyako
|
|
1068
1323
|
@pre_command.each{|proc| proc.call}
|
1069
1324
|
@pre_cancel.each{|proc| proc.call}
|
1070
1325
|
yield if block_given?
|
1326
|
+
@command_box_all.show if @command_box_all.object_id != @text_box_all.object_id
|
1071
1327
|
@command_box.command(@command_box.create_choices_chain(choices, &chain_block))
|
1072
1328
|
@result = nil
|
1073
1329
|
selecting = true
|
@@ -1090,12 +1346,14 @@ module Miyako
|
|
1090
1346
|
end
|
1091
1347
|
@result = @command_box.result
|
1092
1348
|
@command_box.finish_command
|
1349
|
+
@command_box_all.hide if @command_box_all.object_id != @text_box_all.object_id
|
1093
1350
|
@text_box.release
|
1094
1351
|
selecting = false
|
1095
1352
|
reset_selecting
|
1096
1353
|
elsif @select_cancel
|
1097
1354
|
@result = @cancel
|
1098
1355
|
@command_box.finish_command
|
1356
|
+
@command_box_all.hide if @command_box_all.object_id != @text_box_all.object_id
|
1099
1357
|
@text_box.release
|
1100
1358
|
selecting = false
|
1101
1359
|
reset_selecting
|
@@ -1103,7 +1361,7 @@ module Miyako
|
|
1103
1361
|
@command_box.move_cursor(*@select_amount)
|
1104
1362
|
reset_selecting
|
1105
1363
|
elsif @mouse_amount
|
1106
|
-
@command_box.attach_cursor(*@mouse_amount.to_a)
|
1364
|
+
@command_box.attach_cursor(*@mouse_amount.to_a) if @mouse_enable
|
1107
1365
|
reset_selecting
|
1108
1366
|
end
|
1109
1367
|
post_process
|