Class: Miyako::InitiativeYuki
- Includes:
- Animation, InitiativeYukiTemplate, SpriteBase
- Defined in:
- lib/Miyako/API/i_yuki.rb
Overview
主導権を持ったYuki本体クラス
Yukiの内容をオブジェクト化したクラス Yukiのプロット処理を外部メソッドで管理可能 プロットは、引数を一つ(Yuki2クラスのインスタンス)を取ったメソッドもしくはブロック として記述する。
Defined Under Namespace
Classes: Canceled, Command, CommandEX, CommandEx
Constant Summary collapse
- ALL_TRUE =
lambda{ true }
- @@common_use =
外部との共用変数を収めるところ
{}
Instance Attribute Summary collapse
-
#base ⇒ Object
readonly
Returns the value of attribute base.
-
#bgs ⇒ Object
readonly
Returns the value of attribute bgs.
-
#cancel_checks ⇒ Object
readonly
- release_checks
- ポーズ解除を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。 ok_checks
- コマンド選択決定を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。 cancel_checks
-
コマンド選択解除(キャンセル)を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。.
-
#common_use ⇒ Object
readonly
Returns the value of attribute common_use.
-
#engine_stack ⇒ Object
readonly
over_execを使用したシナリオエンジンのコールスタック over_execするエンジンを基準に、一番大本のエンジンから順に積み込まれる 自分自身(self)は含まない.
-
#ok_checks ⇒ Object
readonly
- release_checks
- ポーズ解除を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。 ok_checks
- コマンド選択決定を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。 cancel_checks
-
コマンド選択解除(キャンセル)を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。.
-
#on_disable ⇒ Object
readonly
Returns the value of attribute on_disable.
-
#post_cancel ⇒ Object
readonly
Returns the value of attribute post_cancel.
-
#post_command ⇒ Object
readonly
Returns the value of attribute post_command.
-
#post_pause ⇒ Object
readonly
Returns the value of attribute post_pause.
-
#pre_cancel ⇒ Object
readonly
Returns the value of attribute pre_cancel.
-
#pre_command ⇒ Object
readonly
Returns the value of attribute pre_command.
-
#pre_pause ⇒ Object
readonly
Returns the value of attribute pre_pause.
-
#pre_visibles ⇒ Object
readonly
Returns the value of attribute pre_visibles.
-
#release_checks ⇒ Object
readonly
- release_checks
- ポーズ解除を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。 ok_checks
- コマンド選択決定を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。 cancel_checks
-
コマンド選択解除(キャンセル)を問い合わせるブロックの配列。 callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。.
-
#selecting_procs ⇒ Object
readonly
- selecting_procs
-
コマンド選択時に行うブロックの配列。 ブロックは4つの引数を取る必要がある。 (1)コマンド決定ボタンを押した?(true/false) (2)キャンセルボタンを押した?(true/false) (3)キーパッドの移動量を示す配列() (4)マウスの位置を示す配列() <<(2.1.15-追加、省略可能)>> (5)現在指しているコマンドは選択可能?(true/false) (6)現在指しているコマンドの結果 callメソッドを持つブロックが使用可能。.
-
#valign ⇒ Object
readonly
Returns the value of attribute valign.
-
#visibles ⇒ Object
readonly
Returns the value of attribute visibles.
Class Method Summary collapse
- .[](key) ⇒ Object
- .[]=(key, value) ⇒ Object
-
.add_method(name, &block) ⇒ Object
Yukiにメソッドを追加する(すべてのYukiインスタンスに適応) ブロックを渡すことで、Yukiに新しいメソッドを追加できる。 追加したメソッドは、すべてのYukiインスタンスで利用可能となる。 コンテキストはYukiクラスのインスタンスとなるため、Yukiスクリプトと同じ感覚でメソッドを追加できる。 ただし、すでに追加したメソッド(もしくはYukiクラスですでに追加されているメソッド)を追加しようとすると例外が発生する.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
-
#add_method(name, &block) ⇒ Object
Yukiにメソッドを追加する(指定のYukiインスタンスのみ適応) ブロックを渡すことで、Yukiに新しいメソッドを追加できる。 追加したメソッドは、指定したYukiインスタンスのみ利用可能となる。 コンテキストはYukiクラスのインスタンスとなるため、Yukiスクリプトと同じ感覚でメソッドを追加できる。 ただし、すでに追加したメソッド(もしくはYukiクラスですでに追加されているメソッド)を追加しようとすると例外が発生する.
- #animation_all ⇒ Object
-
#bg_hide(*names) ⇒ Object
パーツで指定した背景を隠蔽する [[Yukiスクリプトとして利用可能]] 描画時に、指定したパーツを描画させないよう指定する names:: パーツ名(シンボル)、複数指定可能 返却値:: 自分自身を返す.
-
#bg_show(*names) ⇒ Object
パーツで指定した背景を表示する [[Yukiスクリプトとして利用可能]] 描画時に、指定したパーツを描画する すでにshowメソッドで表示指定している場合は、先頭に表示させる names:: パーツ名(シンボル)、複数指定可能(指定した順番に描画される) 返却値:: 自分自身を返す.
-
#bgs_names ⇒ Object
現在描画対象のパーツ名のリストを取得する [[Yukiスクリプトとして利用可能]] 現在描画しているパーツ名の配列を参照する。 実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。 Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される (例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。.
-
#bold(&block) ⇒ Object
太文字を描画する [[Yukiスクリプトとして利用可能]] ブロック内で指定した文字列を太文字で表示する (使用すると文字の端が切れてしまう場合あり!) 返却値:: 自分自身を返す.
-
#box_shared? ⇒ Boolean
コマンドボックスとテキストボックスを共用しているか問い合わせる [[Yukiスクリプトとして利用可能]] テキストボックスとコマンドボックスを共用しているときはtrueを返す 共用していなければfalseを返す 返却値:: true/false.
-
#call_plot(plot_proc = nil, &plot_block) ⇒ Object
プロット処理中に別のプロットを呼び出す 呼び出し可能なプロットは以下の2種類。(上から優先度が高い順).
-
#call_plot_block(*params, &plot_block) ⇒ Object
プロット処理中に別のプロットを呼び出す 呼び出し可能なプロットは以下の2種類。(上から優先度が高い順).
-
#call_plot_params(plot_proc, *params) ⇒ Object
プロット処理中に別のプロットを呼び出す 呼び出し可能なプロットは以下の2種類。(上から優先度が高い順).
-
#cancel_checks_during(procs, pre_procs = [], post_procs = []) ⇒ Object
ブロック評価中、コマンド選択キャンセル問い合わせメソッド配列を置き換える 同時に、コマンド選択開始時処理(Yuki#pre_cancel)、コマンド選択終了時処理(Yuki#post_cancel)を引数で設定できる。 ブロックの評価が終われば、メソッド配列・コマンド選択開始時処理・コマンド選択終了時処理を元に戻す procs:: 置き換えるメソッド配列(callメソッドを持ち、true/falseを返すメソッドの配列) pre_proc:: コマンド選択開始時に実行させるProc(デフォルトは[](何もしない)) post_proc:: コマンド選択キャンセル時に実行させるProc(デフォルトは[](何もしない)) 返却値:: 自分自身を返す.
-
#canceled? ⇒ Boolean
コマンド選択がキャンセルされたときの結果を返す [[Yukiスクリプトとして利用可能]] 返却値:: キャンセルされたときはtrue、されていないときはfalseを返す.
-
#clear ⇒ Object
テキストボックスの内容を消去する [[Yukiスクリプトとして利用可能]] 開業後にupdate_clearテンプレートメソッドが1回呼ばれる 返却値:: 自分自身を返す.
-
#color(color, &block) ⇒ Object
文字色を変更する [[Yukiスクリプトとして利用可能]] ブロック内で指定した文字列を、指定の色で描画する color:: 文字色 返却値:: 自分自身を返す.
-
#command(command_list, cancel_to = Miyako::InitiativeYuki::Canceled, &chain_block) ⇒ Object
コマンドを表示する [[Yukiスクリプトとして利用可能]] 表示対象のコマンド群をCommand構造体の配列で示す。 キャンセルのときの結果も指定可能(既定ではキャンセル不可状態) body_selectedをnilにした場合は、bodyと同一となる body_selectedを文字列を指定した場合は、文字色が赤色になることに注意 引数無しのブロックを渡せば、コマンド選択開始前に、決定判別・キャンセル判別に必要な前処理を施すことが出来る 選択中、update_innerメソッドを呼び出し、続けて、処理をYuki#startもしくはYuki#update呼び出し直後に戻す Yuki#updateが呼び出されても選択中の場合は、再び上記の処理を繰り返す command_list:: 表示するコマンド群。各要素はCommand構造体/CommandEx構造体/Choicesクラスオブジェクトの配列 cancel_to:: キャンセルボタンを押したときの結果。デフォルトはnil(キャンセル無効) chain_block:: コマンドの表示方法。TextBox#create_choices_chainメソッド参照 返却値:: 自分自身を返す.
-
#commandbox ⇒ Object
コマンドボックスを取得する [[Yukiスクリプトとして利用可能]] コマンドボックスが登録されていないときはnilを返す 返却値:: コマンドボックス.
-
#commandbox_all ⇒ Object
コマンドボックス全体を取得する [[Yukiスクリプトとして利用可能]] コマンドボックスが登録されていないときはnilを返す 返却値:: コマンドボックス全体.
-
#condition(&block) ⇒ Object
ブロックを条件として設定する [[Yukiスクリプトとして利用可能]] メソッドをMethodクラスのインスタンスに変換する block:: シナリオインスタンスに変換したいメソッド名(シンボル) 返却値:: シナリオインスタンスに変換したメソッド.
-
#cr(tm = 1) ⇒ Object
改行を行う [[Yukiスクリプトとして利用可能]] 開業後にupdate_crテンプレートメソッドが1回呼ばれる tm:: 改行回数。デフォルトは1 返却値:: 自分自身を返す.
-
#create_engine_stack(base) ⇒ Object
エンジンスタックを生成する base:: over_exec呼び出し元のエンジン.
-
#disable_mouse ⇒ Object
マウスでの制御を不可にする ゲームパッド・キーボードでのコマンド・ポーズ制御を行えるが、 マウスでの利用を制限する Yukiクラスインスタンス生成時はマウス利用可能 返却値:: 自分自身を返す.
-
#dispose ⇒ Object
インスタンスで使用しているオブジェクトを解放する.
-
#enable_mouse ⇒ Object
マウスでの制御を可能にする ゲームパッド・キーボードでのコマンド・ポーズ制御を行えるが、 それに加えて、マウスでもゲームパッド・キーボードでの制御が行える Yukiクラスインスタンス生成時はマウス利用可能 返却値:: 自分自身を返す.
-
#hide(*names) ⇒ Object
パーツで指定したオブジェクトを隠蔽する [[Yukiスクリプトとして利用可能]] 描画時に、指定したパーツを描画させないよう指定する names:: パーツ名(シンボル)、複数指定可能 返却値:: 自分自身を返す.
-
#hide_commandbox ⇒ Object
コマンドボックスを描画不可能にする [[Yukiスクリプトとして利用可能]] 返却値:: レシーバ.
-
#hide_textbox ⇒ Object
テキストボックスを描画不可能にする [[Yukiスクリプトとして利用可能]] 返却値:: レシーバ.
-
#initialize(*params, &proc) ⇒ InitiativeYuki
constructor
Yukiを初期化する.
-
#initialize_copy(obj) ⇒ Object
:nodoc:.
-
#is_scenario?(result) ⇒ Boolean
結果がシナリオかどうかを問い合わせる [[Yukiスクリプトとして利用可能]] 結果がシナリオ(メソッド)のときはtrueを返す 対象の結果は、選択結果、プロット処理結果ともに有効 返却値:: 結果がシナリオかどうか(true/false).
-
#is_scene?(result) ⇒ Boolean
結果がシーンかどうかを問い合わせる [[Yukiスクリプトとして利用可能]] 結果がシーン(シーンクラス名)のときはtrueを返す 対象の結果は、選択結果、プロット処理結果ともに有効 返却値:: 結果がシーンかどうか(true/false).
-
#italic(&block) ⇒ Object
斜体文字を描画する [[Yukiスクリプトとして利用可能]] ブロック内で指定した文字列を斜体で表示する (使用すると文字の端が切れてしまう場合あり!) 返却値:: 自分自身を返す.
-
#load_bg(name, filename) ⇒ Object
背景を登録する [[Yukiスクリプトとして利用可能]] 画面に表示する背景を登録する すでにshowメソッドで表示指定している場合は、先頭に表示させる name:: スプライト名(重複するときは上書き) filename:: 読み込むファイル名 返却値:: 自分自身を返す.
-
#load_bgm(name, filename) ⇒ Object
BGMを登録する [[Yukiスクリプトとして利用可能]] 音声ファイルを読み込み、BGMとして登録する 登録したBGMはpartsメソッドを使って参照できる name:: スプライト名(重複するときは上書き) filename:: 読み込むファイル名 返却値:: 自分自身を返す.
-
#load_se(name, filename) ⇒ Object
効果音を登録する [[Yukiスクリプトとして利用可能]] 音声ファイルを読み込み、効果音として登録する 登録した効果音はpartsメソッドを使って参照できる name:: スプライト名(重複するときは上書き) filename:: 読み込むファイル名 返却値:: 自分自身を返す.
-
#load_sprite(name, filename, pre = false) ⇒ Object
ファイル名で指定したスプライトを登録する [[Yukiスクリプトとして利用可能]] 画面に表示するスプライトを登録する すでにshowメソッドで表示指定している場合は、先頭に表示させる name:: スプライト名(重複するときは上書き) filename:: 読み込むファイル名 pre:: pre_visiblesに登録するときはtrue、visiblesに登録するときはfalseを渡す 省略時はfalse 返却値:: 自分自身を返す.
-
#mouse_enable? ⇒ Boolean
マウスでの制御を可・不可を問い合わせる マウスを利用できるときはtrue、利用できないときはfalseを返す 返却値:: true/false.
-
#now_page ⇒ Object
シナリオ上の現在のページを返す [[Yukiスクリプトとして利用可能]] 呼び出し当時、シナリオ上、pageメソッドでくくられていない場合は、nilを返す 返却値:: ページ名.
-
#ok_checks_during(procs, pre_procs = [], post_procs = []) ⇒ Object
ブロック評価中、コマンド選択決定問い合わせメソッド配列を置き換える 同時に、コマンド選択開始時処理(Yuki#pre_command)、コマンド選択終了時処理(Yuki#post_command)を引数で設定できる。 ブロックの評価が終われば、メソッド配列・コマンド選択開始時処理・コマンド選択終了時処理を元に戻す procs:: 置き換えるメソッド配列(callメソッドを持ち、true/falseを返すメソッドの配列) pre_proc:: コマンド選択開始時に実行させるProc(デフォルトは[](何もしない)) post_proc:: コマンド選択決定時に実行させるProc(デフォルトは[](何もしない)) 返却値:: 自分自身を返す.
- #over_engine ⇒ Object
- #over_engine=(engine) ⇒ Object
-
#over_exec(yuki = nil, base = nil, plot = nil, *params) ⇒ Object
別のYukiエンジンを実行する [[Yukiスクリプトとして利用可能]] もう一つのYukiエンジンを実行させ、並行実行させることができる ウインドウの上にウインドウを表示したりするときに、このメソッドを使う renderメソッドで描画する際は、自分のインスタンスが描画した直後に描画される 自分自身を実行しようとするとMiyakoValueError例外が発生する yuki:: 実行対象のYukiインスタンス(事前にsetupの呼び出しが必要) plot:: プロットインスタンス。すでにsetupなどで登録しているときはnilを渡す params:: プロット実行開始時に、プロットに渡す引数 返却値:: 自分自身を返す.
-
#page(name, use_pause = true) ⇒ Object
シナリオ上の括り(ページ)を実装する [[Yukiスクリプトとして利用可能]] シナリオ上、「このプロットの明示的な範囲」を示すために使用する(セーブ時の再現位置の指定など) Yuki#select_first_pageメソッドで開始位置が指定されている場合、以下の処理を行う。 (1)select_first_pageメソッドで指定されたページから処理する。それまでのページは無視される (2)開始ページを処理する前に、select_first_pageメソッドの内容をクリアする(nilに変更する) このメソッドはブロックが必須。ブロックがないと例外が発生する。 name:: ページ名。select_first_pageメソッドは、この名前を検索する。また、now_pageメソッドの返却値でもある use_pause::ページの処理が終了した後、必ずpauseメソッドを呼び出すかどうかのフラグ。デフォルトはtrue 返却値:: select_first_pageメソッドで指定されていないページのときはnil、指定されているページの場合は引数nameの値.
-
#parts ⇒ Object
パーツを参照する [[Yukiスクリプトとして利用可能]] パーツの管理オブジェクトを、ハッシュとして参照する。 パーツ名nameを指定して、インスタンスを参照できる 未登録のパーツはnilが返る (例)parts.
-
#parts_names ⇒ Object
パーツ名の一覧を参照する [[Yukiスクリプトとして利用可能]] パーツ管理オブジェクトに登録されているパーツ名の一覧を配列として返す。 順番は登録順。 まだ何も登録されていないときは空の配列が返る。 (例)regist_parts :chr1, hoge regist_parts :chr2, fuga parts_names # => [:chr1, :chr2].
-
#pause ⇒ Object
ポーズを行う [[Yukiスクリプトとして利用可能]] ポーズが行われると、ポーズ用のカーソルが表示される 所定のボタンを押すとポーズが解除され、カーソルが消える 解除後は、プロットの続きを処理する 引数無しのブロックを渡せば、ポーズ開始前に行いたい処理を施すことが出来る ポーズ中、update_innerメソッドを呼び出し、続けて、処理をYuki#startもしくはYuki#update呼び出し直後に戻す Yuki#updateが呼び出されてもポーズ中の場合は、再び上記の処理を繰り返す (たとえば、一定時間後に自動的にポーズ解除する場合、そのタイマーを開始させるなど) 返却値:: 自分自身を返す.
-
#pause_and_clear ⇒ Object
ポーズをかけて、テキストボックスの内容を消去する [[Yukiスクリプトとして利用可能]] ポーズをかけ、ポーズを解除するときにテキストボックスの内容を消去する 返却値:: 自分自身を返す.
-
#play(name) ⇒ Object
パーツで指定したオブジェクトを再生する [[Yukiスクリプトとして利用可能]] nameで指定したパーツを再生(例:BGM)する。 (但し、パーツで指定したオブジェクトがplayメソッドを持つことが条件) name:: パーツ名(シンボル) 返却値:: 自分自身を返す.
-
#plot_facade(plot_proc = nil, *params, &plot_block) ⇒ Object
:nodoc:.
- #post_process ⇒ Object
-
#pre_hide(*names) ⇒ Object
パーツで指定したオブジェクトを隠蔽する [[Yukiスクリプトとして利用可能]] 描画時に、指定したパーツを描画させないよう指定する names:: パーツ名(シンボル)、複数指定可能 返却値:: 自分自身を返す.
- #pre_process(is_clear = true) ⇒ Object
-
#pre_show(*names) ⇒ Object
パーツで指定したオブジェクトを先頭に表示する [[Yukiスクリプトとして利用可能]] 描画時に、指定したパーツを描画する すでにshowメソッドで表示指定している場合は、先頭に表示させる names:: パーツ名(シンボル)、複数指定可能(指定した順番に描画される) 返却値:: 自分自身を返す.
-
#pre_visibles_names ⇒ Object
現在描画対象のパーツ名のリストを取得する [[Yukiスクリプトとして利用可能]] 現在描画しているパーツ名の配列を参照する。 実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。 Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される (例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。.
- #process(is_clear = true) ⇒ Object
-
#regist_parts(name, parts) ⇒ Object
オブジェクトを登録する [[Yukiスクリプトとして利用可能]] オブジェクトをパーツnameとして登録する。 Yuki::partsで参照可能 name:: パーツ名(シンボル) parts:: 登録対象のインスタンス.
-
#release_checks_during(procs, pre_procs = [], post_procs = []) ⇒ Object
ブロック評価中、ポーズ解除問い合わせメソッド配列を置き換える 同時に、ポーズ時処理(Yuki#pre_pause)、ポーズ解除時処理(Yuki#post_pause)を引数で設定できる。 ブロックの評価が終われば、メソッド配列・ポーズ時処理・ポーズ解除時処理を元に戻す procs:: 置き換えるメソッド配列(callメソッドを持ち、true/falseを返すメソッドの配列) pre_proc:: ポーズ開始時に実行させるProc(デフォルトは[](何もしない)) post_proc:: ポーズ解除時に実行させるProc(デフォルトは[](何もしない)) 返却値:: 自分自身を返す.
-
#remove_parts(name) ⇒ Object
オブジェクトの登録を解除する [[Yukiスクリプトとして利用可能]] パーツnameとして登録されているオブジェクトを登録から解除する。 name:: パーツ名(シンボル).
-
#render ⇒ Object
Yuki#showで表示指定した画像を描画する 描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される) なお、visibleの値がfalseの時は描画されない。 返却値:: 自分自身を返す.
- #render_all ⇒ Object
-
#render_to(dst) ⇒ Object
Yuki#showで表示指定した画像を描画する 描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される) なお、visibleの値がfalseの時は描画されない。 返却値:: 自分自身を返す.
- #render_to_all(dst) ⇒ Object
- #reset_all ⇒ Object
-
#reset_cancel_checks ⇒ Object
コマンド選択キャンセル問い合わせメソッド配列を初期状態に戻す 返却値:: 自分自身を返す.
-
#reset_ok_checks ⇒ Object
コマンド選択決定問い合わせメソッド配列を初期状態に戻す 返却値:: 自分自身を返す.
-
#reset_pre_post_cancel ⇒ Object
コマンド選択キャンセル前後処理メソッド配列を初期状態に戻す pre_cancel/post_cancelの処理を初期状態([])に戻す 返却値:: 自分自身を返す.
-
#reset_pre_post_command ⇒ Object
コマンド選択前後処理メソッド配列を初期状態に戻す pre_command/post_commandの処理を初期状態([])に戻す 返却値:: 自分自身を返す.
-
#reset_pre_post_release ⇒ Object
ポーズ前後処理メソッド配列を初期状態に戻す pre_pause/post_pauseの処理を初期状態([])に戻す 返却値:: 自分自身を返す.
-
#reset_release_checks ⇒ Object
ポーズ解除問い合わせメソッド配列を初期状態に戻す 返却値:: 自分自身を返す.
-
#reset_selecting ⇒ Object
:nodoc:.
-
#result ⇒ Object
プロットの処理結果を返す [[Yukiスクリプトとして利用可能]] プロット処理の結果を返す。 まだ結果が得られていない場合はnilを得る プロット処理が終了していないのに結果を得られるので注意! 返却値:: プロットの処理結果.
-
#result=(ret = nil) ⇒ Object
プロット処理の結果を設定する [[Yukiスクリプトとして利用可能]] ret:: 設定する結果。デフォルトはnil 返却値:: 自分自身を返す.
-
#select_commandbox(box, box_all = nil) ⇒ Object
表示・描画対象のコマンドボックスを選択する 第2引数として、テキストボックス全体を渡せる(省略可能) 第1引数が、PartsやSpriteListの1部分のときに、第2引数を渡すことで、 テキストボックス全体を制御可能 第2引数を省略時は、全バージョンに引き続いて、テキストボックス本体のみを制御する [[Yukiスクリプトとして利用可能]] box:: テキストボックス本体 box_all:: テキストボックス全体.
-
#select_first_page(name) ⇒ Object
プロット上の最初に実行するページを指定知る [[Yukiスクリプトとして利用可能]] 但し、ページ名を指定しないときはnilを指定する。 name:: 最初に実行するページ名.
- #select_key_enable? ⇒ Boolean
- #select_mouse_enable? ⇒ Boolean
-
#select_plot(plot_proc) ⇒ Object
実行するプロットと登録する plot_proc:: プロットの実行部をインスタンス化したオブジェクト 返却値:: 自分自身を返す.
-
#select_result ⇒ Object
コマンドの選択結果を返す [[Yukiスクリプトとして利用可能]] コマンド選択の結果を返す。 まだ結果が得られていない場合はnilを得る プロット処理・コマンド選択が終了していないのに結果を得られるので注意! 返却値:: コマンドの選択結果.
-
#select_textbox(box, box_all = nil) ⇒ Object
表示・描画対象のテキストボックスを選択する 第2引数として、テキストボックス全体を渡せる(省略可能) 第1引数が、PartsやSpriteListの1部分のときに、第2引数を渡すことで、 テキストボックス全体を制御可能 第2引数を省略時は、全バージョンに引き続いて、テキストボックス本体のみを制御する [[Yukiスクリプトとして利用可能]] box:: テキストボックス本体 box_all:: テキストボックス全体.
-
#setup(*params, &proc) ⇒ Object
シーンのセットアップ時に実行する処理.
-
#show(*names) ⇒ Object
パーツで指定したオブジェクトを先頭に表示する [[Yukiスクリプトとして利用可能]] 描画時に、指定したパーツを描画する すでにshowメソッドで表示指定している場合は、先頭に表示させる names:: パーツ名(シンボル)、複数指定可能(指定した順番に描画される) 返却値:: 自分自身を返す.
-
#show_commandbox ⇒ Object
コマンドボックスを描画可能にする [[Yukiスクリプトとして利用可能]] 返却値:: レシーバ.
-
#show_textbox ⇒ Object
テキストボックスを描画可能にする [[Yukiスクリプトとして利用可能]] 返却値:: レシーバ.
-
#size(size, valign = @valign, &block) ⇒ Object
文字の大きさを変更する [[Yukiスクリプトとして利用可能]] ブロック内で指定した文字列を、指定の大きさで描画する size:: 文字の大きさ(整数) valign:: 文字の縦の位置(top, middle, bottom)。デフォルトは:middle(Yuki#valign=,Yuki#valign_duringで変更可能) 返却値:: 自分自身を返す.
-
#start(name) ⇒ Object
パーツで指定したオブジェクトの処理を開始する [[Yukiスクリプトとして利用可能]] nameで指定したパーツが持つ処理(例:アニメーション)を開始する。 (但し、パーツで指定したオブジェクトがstartメソッドを持つことが条件) name:: パーツ名(シンボル) 返却値:: 自分自身を返す.
- #start_all ⇒ Object
-
#start_plot(base, plot_proc = nil, *params, &plot_block) ⇒ Object
プロット処理を実行する(明示的に呼び出す必要がある場合) 引数もしくはブロックで指定したプロット処理を非同期に実行する。 呼び出し可能なプロットは以下の3種類。(上から優先度が高い順) プロットが見つからなければ例外が発生する.
-
#stop(name) ⇒ Object
パーツで指定したオブジェクトの処理を停止する [[Yukiスクリプトとして利用可能]] nameで指定したパーツが持つ処理を停止する。 (但し、パーツで指定したオブジェクトがstopメソッドを持つことが条件) name:: パーツ名(シンボル) 返却値:: 自分自身を返す.
- #stop_all ⇒ Object
-
#text(txt) ⇒ Object
テキストボックスに文字を表示する [[Yukiスクリプトとして利用可能]] テキストボックスとして用意している画像に文字を描画する。 描画する単位(文字単位、文字列単位)によって、挙動が違う。 (文字単位の時) Yuki#text_by_charメソッドと同じ挙動。 (文字列単位の時) Yuki#text_by_strメソッドと同じ挙動。 デフォルトは文字単位。 引数txtの値は、内部で1文字ずつ分割され、1文字描画されるごとに、 update_textメソッドが呼び出され、続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る txt:: 表示させるテキスト 返却値:: 自分自身を返す.
-
#text_by_char(txt) ⇒ Object
テキストボックスに文字を1文字ずつ表示する [[Yukiスクリプトとして利用可能]] 引数txtの値は、内部で1文字ずつ分割され、1文字描画されるごとに、 update_textメソッドが呼び出され、続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。 txt:: 表示させるテキスト 返却値:: 自分自身を返す.
-
#text_by_char_rapid(txt) ⇒ Object
テキストボックスに文字を1文字ずつ表示する [[Yukiスクリプトとして利用可能]] 引数txtの値は、内部で1文字ずつ分割され、1文字描画されるごとに、 update_textメソッドが呼び出され、続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。 txt:: 表示させるテキスト 返却値:: 自分自身を返す.
-
#text_by_str(txt) ⇒ Object
テキストボックスに文字を表示する [[Yukiスクリプトとして利用可能]] 文字列が描画されるごとに、update_textメソッドが呼び出され、 続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。 txt:: 表示させるテキスト 返却値:: 自分自身を返す.
-
#text_by_str_rapid(txt) ⇒ Object
テキストボックスに文字を表示する [[Yukiスクリプトとして利用可能]] 文字列が描画されるごとに、update_textメソッドが呼び出され、 続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。 txt:: 表示させるテキスト 返却値:: 自分自身を返す.
-
#text_method(mode) ⇒ Object
テキストボックスに文字を表示する方法を指定する 引数に、:charを渡すと1文字ごと、:stringを渡すと文字列ごとに表示される。それ以外を指定したときは例外が発生 ブロックを渡せば、ブロックの評価中のみ設定が有効になる。 ブロック評価終了後、呼び出し前の設定に戻る mode:: テキストの表示方法。:charのときは文字ごと、:stringのときは文字列ごとに表示される。それ以外を指定したときは例外が発生 返却値:: 自分自身を返す.
-
#textbox ⇒ Object
テキストボックスを取得する [[Yukiスクリプトとして利用可能]] テキストボックスが登録されていないときはnilを返す 返却値:: テキストボックス.
-
#textbox_all ⇒ Object
テキストボックス全体を取得する [[Yukiスクリプトとして利用可能]] テキストボックスが登録されていないときはnilを返す 返却値:: テキストボックス全体.
-
#to_plot(&plot) ⇒ Object
プロット用ブロックをYukiへ渡すためのインスタンスを作成する プロット用に用意したブロック(ブロック引数無し)を、Yukiでの選択結果や移動先として利用できる インスタンスに変換する 返却値:: ブロックをオブジェクトに変換したものを返す.
- #under_engine ⇒ Object
- #under_engine=(engine) ⇒ Object
-
#under_line(&block) ⇒ Object
下線付き文字を描画する [[Yukiスクリプトとして利用可能]] ブロック内で指定した文字列を下線付きで表示する 返却値:: 自分自身を返す.
-
#update ⇒ Object
プロット処理を更新する ポーズ中、コマンド選択中、 Yuki#wait メソッドによるウェイトの状態確認を行う。 プロット処理の実行確認は出来ない.
-
#update_animation ⇒ Object
Yuki#showで表示指定した画像のアニメーションを更新する showメソッドで指定した画像のupdate_animationメソッドを呼び出す 返却値:: 描く画像のupdate_spriteメソッドを呼び出した結果を配列で返す.
- #update_animation_all ⇒ Object
-
#update_input ⇒ Object
プロット処理に使用する入力情報を更新する ポーズ中、コマンド選択中に使用する入力デバイスの押下状態を更新する (但し、プロット処理の実行中にのみ更新する) Yuki#update メソッドをそのまま使う場合は呼び出す必要がないが、 Yuki#exec_plot メソッドを呼び出す プロット処理の場合は、メインスレッドから明示的に呼び出す必要がある 返却値:: nil を返す.
-
#valign_during(valign) ⇒ Object
ブロック評価中、行中の表示位置を変更する [[Yukiスクリプトとして利用可能]] ブロックを評価している間だけ、デフォルトの縦の表示位置を変更する 変更できる値は、:top、:middle、:bottomの3種類。 ブロックを渡していないときはエラーを返す valign:: 文字の縦の位置(top, middle, bottom) 返却値:: 自分自身を返す.
- #vars ⇒ Object
- #vars_names ⇒ Object
-
#visibles_names ⇒ Object
現在描画対象のパーツ名のリストを取得する [[Yukiスクリプトとして利用可能]] 現在描画しているパーツ名の配列を参照する。 実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。 Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される (例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。.
-
#wait(length) ⇒ Object
プロットの処理を待機する [[Yukiスクリプトとして利用可能]] 指定の秒数(少数可)、プロットの処理を待機する。 待機中、update_innerメソッドを呼び出し、続けて、処理をYuki#startもしくはYuki#update呼び出し直後に戻す Yuki#updateが呼び出されても待機中の場合は、再び上記の処理を繰り返す length:: 待機する長さ。単位は秒。少数可。 返却値:: 自分自身を返す.
-
#wait_by_cond(cond = nil) ⇒ Object
条件に合っていればポーズをかける [[Yukiスクリプトとして利用可能]] 引数で設定した条件(Proc,メソッドインスタンス,ブロック)を評価した結果、trueのときはポーズを行い、 condの値がnilで、ブロックが渡されていないときは何もしない falseのときは改行してプロットの処理を継続する cond:: 条件を示すオブジェクト(返却値はtrue/false)。デフォルトはnil(渡されたブロックを評価する) 返却値:: 自分自身を返す.
-
#wait_by_finish(name, is_clear = true) ⇒ Object
遷移図の処理が終了するまで待つ [[Yukiスクリプトとして利用可能]] nameで指定した遷移図の処理が終了するまで、プロットを停止する name: 遷移図名(シンボル) 返却値:: 自分自身を返す.
Methods included from Animation
anim_hash, #reset, reset, start, stop, update, update_animation
Methods included from SpriteBase
#bitmap, #image_rect, #image_size, #oh, #oh=, #ow, #ow=, #ox, #ox=, #oy, #oy=, #part_rect, #rect, #render_d, #render_xy, #render_xy_to, #to_sprite, #to_unit, #visible, #visible=
Methods included from InitiativeYukiTemplate
#clear_inner, #cr_inner, #input_inner, #pausing_inner, #render_inner, #render_to_inner, #selecting_inner, #text_inner, #update_animation_inner, #update_inner, #waiting_inner
Constructor Details
#initialize(*params, &proc) ⇒ InitiativeYuki
Yukiを初期化する
ブロック引数として、テキストボックスの変更などの処理をブロック内に記述することが出来る。 引数の数とブロック引数の数が違っていれば例外が発生する
- params
-
ブロックに渡す引数リスト(ただし、ブロックを渡しているときのみに有効)
249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 |
# File 'lib/Miyako/API/i_yuki.rb', line 249 def initialize(*params, &proc) @base = nil @over_yuki = nil @under_yuki = nil @yuki = { } @text_box = nil @command_box = nil @text_box_all = nil @command_box_all = nil @exec_plot = nil @pausing = false @selecting = false @waiting = false @pause_release = false @select_ok = false @select_cancel = false @select_amount = [0, 0] @cencel = nil @mouse_amount = nil @mouse_enable = true @select_mouse_enable = true @select_key_enable = false @result = nil @plot_result = nil @parts = {} @visibles = SpriteList.new @pre_visibles = SpriteList.new @bgs = SpriteList.new @vars = {} @text_methods = {:char => self.method(:text_by_char), :char_rapid => self.method(:text_by_char_rapid), :string => self.method(:text_by_str), :string_rapid => self.method(:text_by_str_rapid) } @text_method_name = :char @valign = :middle @release_checks_default = [lambda{ Input.pushed_any?(:btn1, :spc) }, lambda{ @mouse_enable && Input.click?(:left) } ] @release_checks = @release_checks_default.dup @ok_checks_default = [lambda{ Input.pushed_any?(:btn1, :spc) }, lambda{ @mouse_enable && self.commandbox.attach_any_command?(*Input.get_mouse_position) && Input.click?(:left) } ] @ok_checks = @ok_checks_default.dup @cancel_checks_default = [lambda{ Input.pushed_any?(:btn2, :esc) }, lambda{ @mouse_enable && Input.click?(:right) } ] @cancel_checks = @cancel_checks_default.dup @key_amount_proc = lambda{ Input.pushed_amount } @mouse_amount_proc = lambda{ Input.mouse_cursor_inner? ? Input.get_mouse_position : nil } @pre_pause = [] @pre_command = [] @pre_cancel = [] @post_pause = [] @post_command = [] @post_cancel = [] @on_disable = [] @selecting_procs = [] @is_outer_height = self.method(:is_outer_height) @now_page = nil @first_page = nil @engine_stack = [] @common_use = {} raise MiyakoProcError, "Argument count is not same block parameter count!" if proc && proc.arity.abs != params.length instance_exec(*params, &proc) if block_given? end |
Instance Attribute Details
#base ⇒ Object (readonly)
Returns the value of attribute base.
187 188 189 |
# File 'lib/Miyako/API/i_yuki.rb', line 187 def base @base end |
#bgs ⇒ Object (readonly)
Returns the value of attribute bgs.
187 188 189 |
# File 'lib/Miyako/API/i_yuki.rb', line 187 def bgs @bgs end |
#cancel_checks ⇒ Object (readonly)
- release_checks
-
ポーズ解除を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
- ok_checks
-
コマンド選択決定を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
- cancel_checks
-
コマンド選択解除(キャンセル)を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
195 196 197 |
# File 'lib/Miyako/API/i_yuki.rb', line 195 def cancel_checks @cancel_checks end |
#common_use ⇒ Object (readonly)
Returns the value of attribute common_use.
186 187 188 |
# File 'lib/Miyako/API/i_yuki.rb', line 186 def common_use @common_use end |
#engine_stack ⇒ Object (readonly)
over_execを使用したシナリオエンジンのコールスタック over_execするエンジンを基準に、一番大本のエンジンから順に積み込まれる 自分自身(self)は含まない
212 213 214 |
# File 'lib/Miyako/API/i_yuki.rb', line 212 def engine_stack @engine_stack end |
#ok_checks ⇒ Object (readonly)
- release_checks
-
ポーズ解除を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
- ok_checks
-
コマンド選択決定を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
- cancel_checks
-
コマンド選択解除(キャンセル)を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
195 196 197 |
# File 'lib/Miyako/API/i_yuki.rb', line 195 def ok_checks @ok_checks end |
#on_disable ⇒ Object (readonly)
Returns the value of attribute on_disable.
196 197 198 |
# File 'lib/Miyako/API/i_yuki.rb', line 196 def on_disable @on_disable end |
#post_cancel ⇒ Object (readonly)
Returns the value of attribute post_cancel.
196 197 198 |
# File 'lib/Miyako/API/i_yuki.rb', line 196 def post_cancel @post_cancel end |
#post_command ⇒ Object (readonly)
Returns the value of attribute post_command.
196 197 198 |
# File 'lib/Miyako/API/i_yuki.rb', line 196 def post_command @post_command end |
#post_pause ⇒ Object (readonly)
Returns the value of attribute post_pause.
196 197 198 |
# File 'lib/Miyako/API/i_yuki.rb', line 196 def post_pause @post_pause end |
#pre_cancel ⇒ Object (readonly)
Returns the value of attribute pre_cancel.
196 197 198 |
# File 'lib/Miyako/API/i_yuki.rb', line 196 def pre_cancel @pre_cancel end |
#pre_command ⇒ Object (readonly)
Returns the value of attribute pre_command.
196 197 198 |
# File 'lib/Miyako/API/i_yuki.rb', line 196 def pre_command @pre_command end |
#pre_pause ⇒ Object (readonly)
Returns the value of attribute pre_pause.
196 197 198 |
# File 'lib/Miyako/API/i_yuki.rb', line 196 def pre_pause @pre_pause end |
#pre_visibles ⇒ Object (readonly)
Returns the value of attribute pre_visibles.
187 188 189 |
# File 'lib/Miyako/API/i_yuki.rb', line 187 def pre_visibles @pre_visibles end |
#release_checks ⇒ Object (readonly)
- release_checks
-
ポーズ解除を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
- ok_checks
-
コマンド選択決定を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
- cancel_checks
-
コマンド選択解除(キャンセル)を問い合わせるブロックの配列。
callメソッドを持ち、true/falseを返すインスタンスを配列操作で追加・削除できる。
195 196 197 |
# File 'lib/Miyako/API/i_yuki.rb', line 195 def release_checks @release_checks end |
#selecting_procs ⇒ Object (readonly)
- selecting_procs
-
コマンド選択時に行うブロックの配列。
ブロックは4つの引数を取る必要がある。 (1)コマンド決定ボタンを押した?(true/false) (2)キャンセルボタンを押した?(true/false) (3)キーパッドの移動量を示す配列() (4)マウスの位置を示す配列() <<(2.1.15-追加、省略可能)>> (5)現在指しているコマンドは選択可能?(true/false) (6)現在指しているコマンドの結果 callメソッドを持つブロックが使用可能。
207 208 209 |
# File 'lib/Miyako/API/i_yuki.rb', line 207 def selecting_procs @selecting_procs end |
#valign ⇒ Object (readonly)
Returns the value of attribute valign.
188 189 190 |
# File 'lib/Miyako/API/i_yuki.rb', line 188 def valign @valign end |
#visibles ⇒ Object (readonly)
Returns the value of attribute visibles.
187 188 189 |
# File 'lib/Miyako/API/i_yuki.rb', line 187 def visibles @visibles end |
Class Method Details
.[](key) ⇒ Object
177 178 179 |
# File 'lib/Miyako/API/i_yuki.rb', line 177 def InitiativeYuki.[](key) @@common_use[key] end |
.[]=(key, value) ⇒ Object
181 182 183 184 |
# File 'lib/Miyako/API/i_yuki.rb', line 181 def InitiativeYuki.[]=(key, value) @@common_use[key] = value value end |
.add_method(name, &block) ⇒ Object
Yukiにメソッドを追加する(すべてのYukiインスタンスに適応)
ブロックを渡すことで、Yukiに新しいメソッドを追加できる。 追加したメソッドは、すべてのYukiインスタンスで利用可能となる。 コンテキストはYukiクラスのインスタンスとなるため、Yukiスクリプトと同じ感覚でメソッドを追加できる。 ただし、すでに追加したメソッド(もしくはYukiクラスですでに追加されているメソッド)を追加しようとすると例外が発生する
- name
-
ブロックに渡す引数リスト
- block
-
メソッドとして実行させるブロック
222 223 224 225 226 227 |
# File 'lib/Miyako/API/i_yuki.rb', line 222 def InitiativeYuki.add_method(name, &block) name = name.to_sym raise MiyakoError, "Already added method! : #{name.to_s}" if self.methods.include?(name) define_method(name, block) return nil end |
Instance Method Details
#[](key) ⇒ Object
462 463 464 |
# File 'lib/Miyako/API/i_yuki.rb', line 462 def [](key) @common_use[key] || @@common_use[key] end |
#[]=(key, value) ⇒ Object
466 467 468 469 |
# File 'lib/Miyako/API/i_yuki.rb', line 466 def []=(key, value) @common_use[key] = value value end |
#add_method(name, &block) ⇒ Object
Yukiにメソッドを追加する(指定のYukiインスタンスのみ適応)
ブロックを渡すことで、Yukiに新しいメソッドを追加できる。 追加したメソッドは、指定したYukiインスタンスのみ利用可能となる。 コンテキストはYukiクラスのインスタンスとなるため、Yukiスクリプトと同じ感覚でメソッドを追加できる。 ただし、すでに追加したメソッド(もしくはYukiクラスですでに追加されているメソッド)を追加しようとすると例外が発生する
- name
-
ブロックに渡す引数リスト
- block
-
メソッドとして実行させるブロック
237 238 239 240 241 242 |
# File 'lib/Miyako/API/i_yuki.rb', line 237 def add_method(name, &block) name = name.to_sym raise MiyakoError, "Already added method! : #{name.to_s}" if self.methods.include?(name) self.define_singleton_method(name, block) return nil end |
#animation_all ⇒ Object
400 401 402 403 404 405 406 |
# File 'lib/Miyako/API/i_yuki.rb', line 400 def animation_all self.bgs.update_animation self.visibles.update_animation self.textbox_all.update_animation self.commandbox_all.update_animation unless self.box_shared? self.pre_visibles.update_animation end |
#bg_hide(*names) ⇒ Object
パーツで指定した背景を隠蔽する
- [Yukiスクリプトとして利用可能]
-
描画時に、指定したパーツを描画させないよう指定する
- names
-
パーツ名(シンボル)、複数指定可能
- 返却値
-
自分自身を返す
785 786 787 788 789 790 791 792 |
# File 'lib/Miyako/API/i_yuki.rb', line 785 def bg_hide(*names) if names.length == 0 @bgs.each_value{|sprite| sprite.hide} return self end names.each{|name| @bgs[name].hide } return self end |
#bg_show(*names) ⇒ Object
パーツで指定した背景を表示する
- [Yukiスクリプトとして利用可能]
-
描画時に、指定したパーツを描画する すでにshowメソッドで表示指定している場合は、先頭に表示させる
- names
-
パーツ名(シンボル)、複数指定可能(指定した順番に描画される)
- 返却値
-
自分自身を返す
768 769 770 771 772 773 774 775 776 777 778 |
# File 'lib/Miyako/API/i_yuki.rb', line 768 def bg_show(*names) if names.length == 0 @bgs.each_value{|sprite| sprite.show} return self end names.each{|name| @bgs.add(name, @parts[name]) unless @bgs.include?(name) @bgs[name].show } return self end |
#bgs_names ⇒ Object
現在描画対象のパーツ名のリストを取得する
- [Yukiスクリプトとして利用可能]
-
現在描画しているパーツ名の配列を参照する。 実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。 Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される (例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。
- 返却値
-
描画対象リスト
561 562 563 |
# File 'lib/Miyako/API/i_yuki.rb', line 561 def bgs_names @bgs.names end |
#bold(&block) ⇒ Object
太文字を描画する
- [Yukiスクリプトとして利用可能]
-
ブロック内で指定した文字列を太文字で表示する (使用すると文字の端が切れてしまう場合あり!)
- 返却値
-
自分自身を返す
1454 1455 1456 1457 |
# File 'lib/Miyako/API/i_yuki.rb', line 1454 def bold(&block) @text_box.font_bold{ text block.call } return self end |
#box_shared? ⇒ Boolean
コマンドボックスとテキストボックスを共用しているか問い合わせる
- [Yukiスクリプトとして利用可能]
-
テキストボックスとコマンドボックスを共用しているときはtrueを返す 共用していなければfalseを返す
- 返却値
-
true/false
683 684 685 |
# File 'lib/Miyako/API/i_yuki.rb', line 683 def box_shared? @text_box_all.object_id == @command_box_all.object_id end |
#call_plot(plot_proc = nil, &plot_block) ⇒ Object
プロット処理中に別のプロットを呼び出す
呼び出し可能なプロットは以下の2種類。(上から優先度が高い順)
1)引数prot_proc(Procクラスのインスタンス)
2)引数として渡したブロック
- plot_proc
-
プロットの実行部をインスタンス化したオブジェクト
- 返却値
-
プロットの実行結果を返す
1054 1055 1056 1057 |
# File 'lib/Miyako/API/i_yuki.rb', line 1054 def call_plot(plot_proc = nil, &plot_block) return plot_proc ? self.instance_exec(&plot_proc) : self.instance_exec(&plot_block) end |
#call_plot_block(*params, &plot_block) ⇒ Object
プロット処理中に別のプロットを呼び出す
呼び出し可能なプロットは以下の2種類。(上から優先度が高い順)
1)引数prot_proc(Procクラスのインスタンス)
2)引数として渡したブロック
- plot_proc
-
プロットの実行部をインスタンス化したオブジェクト
- 返却値
-
プロットの実行結果を返す
1081 1082 1083 |
# File 'lib/Miyako/API/i_yuki.rb', line 1081 def call_plot_block(*params, &plot_block) return self.instance_exec(*params, &plot_block) end |
#call_plot_params(plot_proc, *params) ⇒ Object
プロット処理中に別のプロットを呼び出す
呼び出し可能なプロットは以下の2種類。(上から優先度が高い順)
1)引数prot_proc(Procクラスのインスタンス)
2)引数として渡したブロック
- plot_proc
-
プロットの実行部をインスタンス化したオブジェクト
- 返却値
-
プロットの実行結果を返す
1068 1069 1070 |
# File 'lib/Miyako/API/i_yuki.rb', line 1068 def call_plot_params(plot_proc, *params) return self.instance_exec(*params, &plot_proc) end |
#cancel_checks_during(procs, pre_procs = [], post_procs = []) ⇒ Object
ブロック評価中、コマンド選択キャンセル問い合わせメソッド配列を置き換える
同時に、コマンド選択開始時処理(Yuki#pre_cancel)、コマンド選択終了時処理(Yuki#post_cancel)を引数で設定できる。 ブロックの評価が終われば、メソッド配列・コマンド選択開始時処理・コマンド選択終了時処理を元に戻す
- procs
-
置き換えるメソッド配列(callメソッドを持ち、true/falseを返すメソッドの配列)
- pre_proc
-
コマンド選択開始時に実行させるProc(デフォルトは[](何もしない))
- post_proc
-
コマンド選択キャンセル時に実行させるProc(デフォルトは[](何もしない))
- 返却値
-
自分自身を返す
1172 1173 1174 1175 1176 1177 1178 1179 |
# File 'lib/Miyako/API/i_yuki.rb', line 1172 def cancel_checks_during(procs, pre_procs = [], post_procs = []) raise MiyakoProcError, "Can't find block!" unless block_given? backup = [@cancel_checks, @pre_cancel, @post_cancel] @cancel_checks, @pre_cancel, @post_cancel = procs, pre_proc, post_proc yield @cancel_checks, @pre_cancel, @post_cancel = backup.pop(3) return self end |
#canceled? ⇒ Boolean
コマンド選択がキャンセルされたときの結果を返す
- [Yukiスクリプトとして利用可能]
- 返却値
-
キャンセルされたときはtrue、されていないときはfalseを返す
1221 1222 1223 |
# File 'lib/Miyako/API/i_yuki.rb', line 1221 def canceled? return @result == @cancel end |
#clear ⇒ Object
テキストボックスの内容を消去する
- [Yukiスクリプトとして利用可能]
-
開業後にupdate_clearテンプレートメソッドが1回呼ばれる
- 返却値
-
自分自身を返す
1495 1496 1497 1498 1499 |
# File 'lib/Miyako/API/i_yuki.rb', line 1495 def clear @text_box.clear @base.clear_inner(self) if @base return self end |
#color(color, &block) ⇒ Object
文字色を変更する
- [Yukiスクリプトとして利用可能]
-
ブロック内で指定した文字列を、指定の色で描画する
- color
-
文字色
- 返却値
-
自分自身を返す
1416 1417 1418 1419 |
# File 'lib/Miyako/API/i_yuki.rb', line 1416 def color(color, &block) @text_box.color_during(Color.to_rgb(color)){ text block.call } return self end |
#command(command_list, cancel_to = Miyako::InitiativeYuki::Canceled, &chain_block) ⇒ Object
コマンドを表示する
- [Yukiスクリプトとして利用可能]
-
表示対象のコマンド群をCommand構造体の配列で示す。 キャンセルのときの結果も指定可能(既定ではキャンセル不可状態) body_selectedをnilにした場合は、bodyと同一となる body_selectedを文字列を指定した場合は、文字色が赤色になることに注意 引数無しのブロックを渡せば、コマンド選択開始前に、決定判別・キャンセル判別に必要な前処理を施すことが出来る 選択中、update_innerメソッドを呼び出し、続けて、処理をYuki#startもしくはYuki#update呼び出し直後に戻す Yuki#updateが呼び出されても選択中の場合は、再び上記の処理を繰り返す
- command_list
-
表示するコマンド群。各要素はCommand構造体/CommandEx構造体/Choicesクラスオブジェクトの配列
- cancel_to
-
キャンセルボタンを押したときの結果。デフォルトはnil(キャンセル無効)
- chain_block
-
コマンドの表示方法。TextBox#create_choices_chainメソッド参照
- 返却値
-
自分自身を返す
1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 |
# File 'lib/Miyako/API/i_yuki.rb', line 1556 def command(command_list, cancel_to = Miyako::InitiativeYuki::Canceled, &chain_block) raise MiyakoValueError, "Yuki Error! Commandbox is not selected!" unless @command_box @cancel = cancel_to if command_list.kind_of?(Choices) @pre_command.each{|proc| proc.call} @pre_cancel.each{|proc| proc.call} @command_box_all.show if @command_box_all.object_id != @text_box_all.object_id @command_box.command(command_list) else choices = [] command_list.each{|cm| if (cm[:condition] == nil || cm[:condition].call) cm_array = [cm[:body], cm[:body_selected], cm[:body_disable], cm[:enable], cm[:result]] methods = cm.methods cm_array << (methods.include?(:end_select_proc) ? cm[:end_select_proc] : nil) choices.push(cm_array) end } return self if choices.length == 0 @pre_command.each{|proc| proc.call} @pre_cancel.each{|proc| proc.call} @command_box_all.show if @command_box_all.object_id != @text_box_all.object_id @command_box.command(@command_box.create_choices_chain(choices, &chain_block)) end @result = nil @select_mouse_enable = true @select_key_enable = false selecting = true reset_selecting while selecting pre_process @select_amount = @key_amount_proc.call @mouse_amount = @mouse_amount_proc.call if @select_amount != [0,0] @select_mouse_enable = false @select_key_enable = true elsif Input.mouse_dx != 0 and Input.mouse_dy != 0 @select_mouse_enable = true @select_key_enable = false else @select_mouse_enable = false @select_key_enable = false end @select_ok = true if @ok_checks.inject(false){|r, c| r |= c.call } @select_cancel = true if @cancel && @cancel_checks.inject(false){|r, c| r |= c.call } @selecting_procs.each{|sp| case sp.arity when 6 sp.call(@select_ok, @select_cansel, @select_amount, @mouse_amount, @command_box.enable_choice?, @command_box.result ) else sp.call(@select_ok, @select_cansel, @select_amount, @mouse_amount ) end } if @select_ok unless @command_box.enable_choice? @on_disable.each{|proc| proc.call} post_process next end @result = @command_box.result @command_box.finish_command @command_box_all.hide if @command_box_all.object_id != @text_box_all.object_id @text_box.release selecting = false reset_selecting elsif @select_cancel @result = @cancel @command_box.finish_command @command_box_all.hide if @command_box_all.object_id != @text_box_all.object_id @text_box.release selecting = false reset_selecting elsif @select_amount != [0,0] and @select_key_enable @command_box.move_cursor(*@select_amount) reset_selecting elsif @mouse_amount and @select_mouse_enable @command_box.attach_cursor(*@mouse_amount.to_a) if @mouse_enable reset_selecting elsif Input.mouse_cursor_inner? @command_box.attach_cursor(Input.mouse_x, Input.mouse_y) if @mouse_enable end @base.selecting_inner(self) if @base post_process end @post_cancel.each{|proc| proc.call} @post_command.each{|proc| proc.call} return self end |
#commandbox ⇒ Object
コマンドボックスを取得する
- [Yukiスクリプトとして利用可能]
-
コマンドボックスが登録されていないときはnilを返す
- 返却値
-
コマンドボックス
626 627 628 |
# File 'lib/Miyako/API/i_yuki.rb', line 626 def commandbox return @command_box end |
#commandbox_all ⇒ Object
コマンドボックス全体を取得する
- [Yukiスクリプトとして利用可能]
-
コマンドボックスが登録されていないときはnilを返す
- 返却値
-
コマンドボックス全体
642 643 644 |
# File 'lib/Miyako/API/i_yuki.rb', line 642 def commandbox_all return @command_box_all end |
#condition(&block) ⇒ Object
ブロックを条件として設定する
- [Yukiスクリプトとして利用可能]
-
メソッドをMethodクラスのインスタンスに変換する
- block
-
シナリオインスタンスに変換したいメソッド名(シンボル)
- 返却値
-
シナリオインスタンスに変換したメソッド
1230 1231 1232 |
# File 'lib/Miyako/API/i_yuki.rb', line 1230 def condition(&block) return block end |
#cr(tm = 1) ⇒ Object
改行を行う
- [Yukiスクリプトとして利用可能]
-
開業後にupdate_crテンプレートメソッドが1回呼ばれる
- tm
-
改行回数。デフォルトは1
- 返却値
-
自分自身を返す
1483 1484 1485 1486 1487 1488 1489 |
# File 'lib/Miyako/API/i_yuki.rb', line 1483 def cr(tm = 1) tm.times{|n| @text_box.cr @base.cr_inner(self) if @base } return self end |
#create_engine_stack(base) ⇒ Object
エンジンスタックを生成する
- base
-
over_exec呼び出し元のエンジン
336 337 338 339 |
# File 'lib/Miyako/API/i_yuki.rb', line 336 def create_engine_stack(base) return unless @engine_stack.empty? @engine_stack.push(*base.engine_stack, base) end |
#disable_mouse ⇒ Object
マウスでの制御を不可にする
ゲームパッド・キーボードでのコマンド・ポーズ制御を行えるが、 マウスでの利用を制限する Yukiクラスインスタンス生成時はマウス利用可能
- 返却値
-
自分自身を返す
356 357 358 359 |
# File 'lib/Miyako/API/i_yuki.rb', line 356 def disable_mouse @mouse_enable = false return self end |
#dispose ⇒ Object
インスタンスで使用しているオブジェクトを解放する
1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 |
# File 'lib/Miyako/API/i_yuki.rb', line 1727 def dispose @parts.clear @parts = nil @visibles.clear @visibles = nil @vars.clear @vars = nil @is_outer_height = nil end |
#enable_mouse ⇒ Object
マウスでの制御を可能にする
ゲームパッド・キーボードでのコマンド・ポーズ制御を行えるが、 それに加えて、マウスでもゲームパッド・キーボードでの制御が行える Yukiクラスインスタンス生成時はマウス利用可能
- 返却値
-
自分自身を返す
346 347 348 349 |
# File 'lib/Miyako/API/i_yuki.rb', line 346 def enable_mouse @mouse_enable = true return self end |
#hide(*names) ⇒ Object
パーツで指定したオブジェクトを隠蔽する
- [Yukiスクリプトとして利用可能]
-
描画時に、指定したパーツを描画させないよう指定する
- names
-
パーツ名(シンボル)、複数指定可能
- 返却値
-
自分自身を返す
721 722 723 724 725 726 727 728 |
# File 'lib/Miyako/API/i_yuki.rb', line 721 def hide(*names) if names.length == 0 @visibles.each_value{|sprite| sprite.hide} return self end names.each{|name| @visibles[name].hide } return self end |
#hide_commandbox ⇒ Object
コマンドボックスを描画不可能にする
- [Yukiスクリプトとして利用可能]
- 返却値
-
レシーバ
673 674 675 676 |
# File 'lib/Miyako/API/i_yuki.rb', line 673 def hide_commandbox @command_box_all.hide return self end |
#hide_textbox ⇒ Object
テキストボックスを描画不可能にする
- [Yukiスクリプトとして利用可能]
- 返却値
-
レシーバ
665 666 667 668 |
# File 'lib/Miyako/API/i_yuki.rb', line 665 def hide_textbox @text_box_all.hide return self end |
#initialize_copy(obj) ⇒ Object
:nodoc:
330 331 332 |
# File 'lib/Miyako/API/i_yuki.rb', line 330 def initialize_copy(obj) #:nodoc: raise MiyakoCopyError.not_copy("Yuki") end |
#is_scenario?(result) ⇒ Boolean
結果がシナリオかどうかを問い合わせる
- [Yukiスクリプトとして利用可能]
-
結果がシナリオ(メソッド)のときはtrueを返す 対象の結果は、選択結果、プロット処理結果ともに有効
- 返却値
-
結果がシナリオかどうか(true/false)
1214 1215 1216 |
# File 'lib/Miyako/API/i_yuki.rb', line 1214 def is_scenario?(result) return (result.kind_of?(Proc) || result.kind_of?(Method)) end |
#is_scene?(result) ⇒ Boolean
結果がシーンかどうかを問い合わせる
- [Yukiスクリプトとして利用可能]
-
結果がシーン(シーンクラス名)のときはtrueを返す 対象の結果は、選択結果、プロット処理結果ともに有効
- 返却値
-
結果がシーンかどうか(true/false)
1205 1206 1207 |
# File 'lib/Miyako/API/i_yuki.rb', line 1205 def is_scene?(result) return (result.class == Class && result.include?(Story::Scene)) end |
#italic(&block) ⇒ Object
斜体文字を描画する
- [Yukiスクリプトとして利用可能]
-
ブロック内で指定した文字列を斜体で表示する (使用すると文字の端が切れてしまう場合あり!)
- 返却値
-
自分自身を返す
1464 1465 1466 1467 |
# File 'lib/Miyako/API/i_yuki.rb', line 1464 def italic(&block) @text_box.font_italic{ text block.call } return self end |
#load_bg(name, filename) ⇒ Object
背景を登録する
- [Yukiスクリプトとして利用可能]
-
画面に表示する背景を登録する すでにshowメソッドで表示指定している場合は、先頭に表示させる
- name
-
スプライト名(重複するときは上書き)
- filename
-
読み込むファイル名
- 返却値
-
自分自身を返す
818 819 820 821 822 823 824 |
# File 'lib/Miyako/API/i_yuki.rb', line 818 def load_bg(name, filename) spr = Sprite.new(:file=>filename, :type=>:ac) @parts[name] = spr @parts[name].hide @bgs.add(name, @parts[name]) return self end |
#load_bgm(name, filename) ⇒ Object
BGMを登録する
- [Yukiスクリプトとして利用可能]
-
音声ファイルを読み込み、BGMとして登録する 登録したBGMはpartsメソッドを使って参照できる
- name
-
スプライト名(重複するときは上書き)
- filename
-
読み込むファイル名
- 返却値
-
自分自身を返す
833 834 835 836 |
# File 'lib/Miyako/API/i_yuki.rb', line 833 def load_bgm(name, filename) @parts[name] = Audio::BGM.new(filename) return self end |
#load_se(name, filename) ⇒ Object
効果音を登録する
- [Yukiスクリプトとして利用可能]
-
音声ファイルを読み込み、効果音として登録する 登録した効果音はpartsメソッドを使って参照できる
- name
-
スプライト名(重複するときは上書き)
- filename
-
読み込むファイル名
- 返却値
-
自分自身を返す
845 846 847 848 |
# File 'lib/Miyako/API/i_yuki.rb', line 845 def load_se(name, filename) @parts[name] = Audio::SE.new(filename) return self end |
#load_sprite(name, filename, pre = false) ⇒ Object
ファイル名で指定したスプライトを登録する
- [Yukiスクリプトとして利用可能]
-
画面に表示するスプライトを登録する すでにshowメソッドで表示指定している場合は、先頭に表示させる
- name
-
スプライト名(重複するときは上書き)
- filename
-
読み込むファイル名
- pre
-
pre_visiblesに登録するときはtrue、visiblesに登録するときはfalseを渡す
省略時はfalse
- 返却値
-
自分自身を返す
803 804 805 806 807 808 809 |
# File 'lib/Miyako/API/i_yuki.rb', line 803 def load_sprite(name, filename, pre=false) spr = Sprite.new(:file=>filename, :type=>:ac) @parts[name] = spr @parts[name].hide pre ? @pre_visibles.add(name, @parts[name]) : @visibles.add(name, @parts[name]) return self end |
#mouse_enable? ⇒ Boolean
マウスでの制御を可・不可を問い合わせる
マウスを利用できるときはtrue、利用できないときはfalseを返す
- 返却値
-
true/false
364 365 366 |
# File 'lib/Miyako/API/i_yuki.rb', line 364 def mouse_enable? @mouse_enable end |
#now_page ⇒ Object
シナリオ上の現在のページを返す
- [Yukiスクリプトとして利用可能]
-
呼び出し当時、シナリオ上、pageメソッドでくくられていない場合は、nilを返す
- 返却値
-
ページ名
1714 1715 1716 |
# File 'lib/Miyako/API/i_yuki.rb', line 1714 def now_page return @now_page end |
#ok_checks_during(procs, pre_procs = [], post_procs = []) ⇒ Object
ブロック評価中、コマンド選択決定問い合わせメソッド配列を置き換える
同時に、コマンド選択開始時処理(Yuki#pre_command)、コマンド選択終了時処理(Yuki#post_command)を引数で設定できる。 ブロックの評価が終われば、メソッド配列・コマンド選択開始時処理・コマンド選択終了時処理を元に戻す
- procs
-
置き換えるメソッド配列(callメソッドを持ち、true/falseを返すメソッドの配列)
- pre_proc
-
コマンド選択開始時に実行させるProc(デフォルトは[](何もしない))
- post_proc
-
コマンド選択決定時に実行させるProc(デフォルトは[](何もしない))
- 返却値
-
自分自身を返す
1156 1157 1158 1159 1160 1161 1162 1163 |
# File 'lib/Miyako/API/i_yuki.rb', line 1156 def ok_checks_during(procs, pre_procs = [], post_procs = []) raise MiyakoProcError, "Can't find block!" unless block_given? backup = [@ok_checks, @pre_command, @post_command] @ok_checks, @pre_command, @post_command = procs, pre_proc, post_proc yield @ok_checks, @pre_command, @post_command = backup.pop(3) return self end |
#over_engine ⇒ Object
980 981 982 |
# File 'lib/Miyako/API/i_yuki.rb', line 980 def over_engine @over_yuki end |
#over_engine=(engine) ⇒ Object
984 985 986 987 988 989 |
# File 'lib/Miyako/API/i_yuki.rb', line 984 def over_engine=(engine) @over_yuki = engine engine.under_engine = self engine.engine_stack.clear engine.create_engine_stack(self) end |
#over_exec(yuki = nil, base = nil, plot = nil, *params) ⇒ Object
別のYukiエンジンを実行する
- [Yukiスクリプトとして利用可能]
-
もう一つのYukiエンジンを実行させ、並行実行させることができる ウインドウの上にウインドウを表示したりするときに、このメソッドを使う renderメソッドで描画する際は、自分のインスタンスが描画した直後に描画される 自分自身を実行しようとするとMiyakoValueError例外が発生する
- yuki
-
実行対象のYukiインスタンス(事前にsetupの呼び出しが必要)
- plot
-
プロットインスタンス。すでにsetupなどで登録しているときはnilを渡す
- params
-
プロット実行開始時に、プロットに渡す引数
- 返却値
-
自分自身を返す
1009 1010 1011 1012 1013 1014 1015 |
# File 'lib/Miyako/API/i_yuki.rb', line 1009 def over_exec(yuki = nil, base = nil, plot = nil, *params) raise MiyakoValueError, "This Yuki engine is same as self!" if yuki.eql?(self) self.over_engine = yuki if yuki @over_yuki.start_plot(base ? base : @over_yuki, plot, *params) yuki.engine_stack.clear if yuki return self end |
#page(name, use_pause = true) ⇒ Object
シナリオ上の括り(ページ)を実装する
- [Yukiスクリプトとして利用可能]
-
シナリオ上、「このプロットの明示的な範囲」を示すために使用する(セーブ時の再現位置の指定など) Yuki#select_first_pageメソッドで開始位置が指定されている場合、以下の処理を行う。 (1)select_first_pageメソッドで指定されたページから処理する。それまでのページは無視される (2)開始ページを処理する前に、select_first_pageメソッドの内容をクリアする(nilに変更する) このメソッドはブロックが必須。ブロックがないと例外が発生する。
- name
-
ページ名。select_first_pageメソッドは、この名前を検索する。また、now_pageメソッドの返却値でもある
use_pause::ページの処理が終了した後、必ずpauseメソッドを呼び出すかどうかのフラグ。デフォルトはtrue
- 返却値
-
select_first_pageメソッドで指定されていないページのときはnil、指定されているページの場合は引数nameの値
1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 |
# File 'lib/Miyako/API/i_yuki.rb', line 1699 def page(name, use_pause = true) raise MiyakoProcError, "Yuki#page needs block!" unless block_given? return nil if (@first_page && name != @first_page) @first_page = nil @now_page = name yield pause if use_pause @now_page = nil return name end |
#parts ⇒ Object
パーツを参照する
- [Yukiスクリプトとして利用可能]
-
パーツの管理オブジェクトを、ハッシュとして参照する。 パーツ名nameを指定して、インスタンスを参照できる 未登録のパーツはnilが返る (例)parts
- 返却値
-
パーツ管理ハッシュ
511 512 513 |
# File 'lib/Miyako/API/i_yuki.rb', line 511 def parts @parts end |
#parts_names ⇒ Object
パーツ名の一覧を参照する
- [Yukiスクリプトとして利用可能]
-
パーツ管理オブジェクトに登録されているパーツ名の一覧を配列として返す。 順番は登録順。 まだ何も登録されていないときは空の配列が返る。 (例)regist_parts :chr1, hoge
regist_parts :chr2, fuga parts_names # => [:chr1, :chr2]
- 返却値
-
パーツ管理ハッシュ
525 526 527 |
# File 'lib/Miyako/API/i_yuki.rb', line 525 def parts_names @parts.keys end |
#pause ⇒ Object
ポーズを行う
- [Yukiスクリプトとして利用可能]
-
ポーズが行われると、ポーズ用のカーソルが表示される 所定のボタンを押すとポーズが解除され、カーソルが消える 解除後は、プロットの続きを処理する 引数無しのブロックを渡せば、ポーズ開始前に行いたい処理を施すことが出来る ポーズ中、update_innerメソッドを呼び出し、続けて、処理をYuki#startもしくはYuki#update呼び出し直後に戻す Yuki#updateが呼び出されてもポーズ中の場合は、再び上記の処理を繰り返す (たとえば、一定時間後に自動的にポーズ解除する場合、そのタイマーを開始させるなど)
- 返却値
-
自分自身を返す
1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 |
# File 'lib/Miyako/API/i_yuki.rb', line 1511 def pause @pre_pause.each{|proc| proc.call} yield if block_given? @text_box.pause pause_release = false until pause_release pre_process @base.pausing_inner(self) if @base pause_release = @release_checks.inject(false){|r, c| r |= c.call } post_process end @text_box.release @post_pause.each{|proc| proc.call} return self end |
#pause_and_clear ⇒ Object
ポーズをかけて、テキストボックスの内容を消去する
- [Yukiスクリプトとして利用可能]
-
ポーズをかけ、ポーズを解除するときにテキストボックスの内容を消去する
- 返却値
-
自分自身を返す
1531 1532 1533 |
# File 'lib/Miyako/API/i_yuki.rb', line 1531 def pause_and_clear return pause.clear end |
#play(name) ⇒ Object
パーツで指定したオブジェクトを再生する
- [Yukiスクリプトとして利用可能]
-
nameで指定したパーツを再生(例:BGM)する。 (但し、パーツで指定したオブジェクトがplayメソッドを持つことが条件)
- name
-
パーツ名(シンボル)
- 返却値
-
自分自身を返す
868 869 870 871 872 |
# File 'lib/Miyako/API/i_yuki.rb', line 868 def play(name) @parts[name].play post_process return self end |
#plot_facade(plot_proc = nil, *params, &plot_block) ⇒ Object
:nodoc:
1036 1037 1038 1039 1040 1041 1042 1043 |
# File 'lib/Miyako/API/i_yuki.rb', line 1036 def plot_facade(plot_proc = nil, *params, &plot_block) #:nodoc: @plot_result = nil exec_plot = @exec_plot @plot_result = plot_proc ? self.instance_exec(*params, &plot_proc) : block_given? ? self.instance_exec(*params, &plot_block) : exec_plot ? self.instance_exec(*params, &exec_plot) : raise(MiyakoProcError, "Cannot find plot!") end |
#post_process ⇒ Object
913 914 915 916 917 918 |
# File 'lib/Miyako/API/i_yuki.rb', line 913 def post_process self.render WaitCounter.post_update Animation.update Screen.render end |
#pre_hide(*names) ⇒ Object
パーツで指定したオブジェクトを隠蔽する
- [Yukiスクリプトとして利用可能]
-
描画時に、指定したパーツを描画させないよう指定する
- names
-
パーツ名(シンボル)、複数指定可能
- 返却値
-
自分自身を返す
753 754 755 756 757 758 759 760 |
# File 'lib/Miyako/API/i_yuki.rb', line 753 def pre_hide(*names) if names.length == 0 @pre_visibles.each_value{|sprite| sprite.hide} return self end names.each{|name| @pre_visibles[name].hide } return self end |
#pre_process(is_clear = true) ⇒ Object
903 904 905 906 907 908 909 910 911 |
# File 'lib/Miyako/API/i_yuki.rb', line 903 def pre_process(is_clear = true) Audio.update Input.update WaitCounter.update self.update_input self.update self.update_animation Screen.clear if is_clear end |
#pre_show(*names) ⇒ Object
パーツで指定したオブジェクトを先頭に表示する
- [Yukiスクリプトとして利用可能]
-
描画時に、指定したパーツを描画する すでにshowメソッドで表示指定している場合は、先頭に表示させる
- names
-
パーツ名(シンボル)、複数指定可能(指定した順番に描画される)
- 返却値
-
自分自身を返す
736 737 738 739 740 741 742 743 744 745 746 |
# File 'lib/Miyako/API/i_yuki.rb', line 736 def pre_show(*names) if names.length == 0 @pre_visibles.each_value{|sprite| sprite.show} return self end names.each{|name| @pre_visibles.add(name, @parts[name]) unless @pre_visibles.include?(name) @pre_visibles[name].show } return self end |
#pre_visibles_names ⇒ Object
現在描画対象のパーツ名のリストを取得する
- [Yukiスクリプトとして利用可能]
-
現在描画しているパーツ名の配列を参照する。 実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。 Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される (例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。
- 返却値
-
描画対象リスト
549 550 551 |
# File 'lib/Miyako/API/i_yuki.rb', line 549 def pre_visibles_names @pre_visibles.names end |
#process(is_clear = true) ⇒ Object
898 899 900 901 |
# File 'lib/Miyako/API/i_yuki.rb', line 898 def process(is_clear = true) pre_process(is_clear) post_process end |
#regist_parts(name, parts) ⇒ Object
オブジェクトを登録する
- [Yukiスクリプトとして利用可能]
-
オブジェクトをパーツnameとして登録する。 Yuki::partsで参照可能
- name
-
パーツ名(シンボル)
- parts
-
登録対象のインスタンス
- 返却値
-
自分自身を返す
573 574 575 576 |
# File 'lib/Miyako/API/i_yuki.rb', line 573 def regist_parts(name, parts) @parts[name] = parts return self end |
#release_checks_during(procs, pre_procs = [], post_procs = []) ⇒ Object
ブロック評価中、ポーズ解除問い合わせメソッド配列を置き換える
同時に、ポーズ時処理(Yuki#pre_pause)、ポーズ解除時処理(Yuki#post_pause)を引数で設定できる。 ブロックの評価が終われば、メソッド配列・ポーズ時処理・ポーズ解除時処理を元に戻す
- procs
-
置き換えるメソッド配列(callメソッドを持ち、true/falseを返すメソッドの配列)
- pre_proc
-
ポーズ開始時に実行させるProc(デフォルトは[](何もしない))
- post_proc
-
ポーズ解除時に実行させるProc(デフォルトは[](何もしない))
- 返却値
-
自分自身を返す
1140 1141 1142 1143 1144 1145 1146 1147 |
# File 'lib/Miyako/API/i_yuki.rb', line 1140 def release_checks_during(procs, pre_procs = [], post_procs = []) raise MiyakoProcError, "Can't find block!" unless block_given? backup = [@release_checks, @pre_pause, @post_pause] @release_checks, @pre_pause, @post_pause = procs, pre_proc, post_proc yield @release_checks, @pre_pause, @post_pause = backup.pop(3) return self end |
#remove_parts(name) ⇒ Object
オブジェクトの登録を解除する
- [Yukiスクリプトとして利用可能]
-
パーツnameとして登録されているオブジェクトを登録から解除する。
- name
-
パーツ名(シンボル)
- 返却値
-
自分自身を返す
693 694 695 696 |
# File 'lib/Miyako/API/i_yuki.rb', line 693 def remove_parts(name) @parts.delete(name) return self end |
#render ⇒ Object
Yuki#showで表示指定した画像を描画する
描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される) なお、visibleの値がfalseの時は描画されない。
- 返却値
-
自分自身を返す
412 413 414 415 |
# File 'lib/Miyako/API/i_yuki.rb', line 412 def render return @base.render_inner(self) if @base return self end |
#render_all ⇒ Object
368 369 370 371 372 373 374 |
# File 'lib/Miyako/API/i_yuki.rb', line 368 def render_all self.bgs.render self.visibles.render self.textbox_all.render self.commandbox_all.render unless self.box_shared? self.pre_visibles.render end |
#render_to(dst) ⇒ Object
Yuki#showで表示指定した画像を描画する
描画順は、showメソッドで指定した順に描画される(先に指定した画像は後ろに表示される) なお、visibleの値がfalseの時は描画されない。
- 返却値
-
自分自身を返す
429 430 431 432 |
# File 'lib/Miyako/API/i_yuki.rb', line 429 def render_to(dst) return @base.render_to_inner(self, dst) if @base return self end |
#render_to_all(dst) ⇒ Object
417 418 419 420 421 422 423 |
# File 'lib/Miyako/API/i_yuki.rb', line 417 def render_to_all(dst) self.bgs.render_to(dst) self.visibles.render_to(dst) self.textbox_all.render_to(dst) self.commandbox_all.render_to(dst) unless self.box_shared? self.pre_visibles.render_to(dst) end |
#reset_all ⇒ Object
392 393 394 395 396 397 398 |
# File 'lib/Miyako/API/i_yuki.rb', line 392 def reset_all self.bgs.reset self.visibles.reset self.textbox_all.reset self.commandbox_all.reset unless self.box_shared? self.pre_visibles.reset end |
#reset_cancel_checks ⇒ Object
コマンド選択キャンセル問い合わせメソッド配列を初期状態に戻す
- 返却値
-
自分自身を返す
1101 1102 1103 1104 |
# File 'lib/Miyako/API/i_yuki.rb', line 1101 def reset_cancel_checks @cancel_checks = @cancel_checks_default.dup return self end |
#reset_ok_checks ⇒ Object
コマンド選択決定問い合わせメソッド配列を初期状態に戻す
- 返却値
-
自分自身を返す
1094 1095 1096 1097 |
# File 'lib/Miyako/API/i_yuki.rb', line 1094 def reset_ok_checks @ok_checks = @ok_checks_default.dup return self end |
#reset_pre_post_cancel ⇒ Object
コマンド選択キャンセル前後処理メソッド配列を初期状態に戻す
pre_cancel/post_cancelの処理を初期状態([])に戻す
- 返却値
-
自分自身を返す
1127 1128 1129 1130 1131 |
# File 'lib/Miyako/API/i_yuki.rb', line 1127 def reset_pre_post_cancel @pre_acncel = [] @post_cancel = [] return self end |
#reset_pre_post_command ⇒ Object
コマンド選択前後処理メソッド配列を初期状態に戻す
pre_command/post_commandの処理を初期状態([])に戻す
- 返却値
-
自分自身を返す
1118 1119 1120 1121 1122 |
# File 'lib/Miyako/API/i_yuki.rb', line 1118 def reset_pre_post_command @pre_command = [] @post_command = [] return self end |
#reset_pre_post_release ⇒ Object
ポーズ前後処理メソッド配列を初期状態に戻す
pre_pause/post_pauseの処理を初期状態([])に戻す
- 返却値
-
自分自身を返す
1109 1110 1111 1112 1113 |
# File 'lib/Miyako/API/i_yuki.rb', line 1109 def reset_pre_post_release @pre_pause = [] @post_pause = [] return self end |
#reset_release_checks ⇒ Object
ポーズ解除問い合わせメソッド配列を初期状態に戻す
- 返却値
-
自分自身を返す
1087 1088 1089 1090 |
# File 'lib/Miyako/API/i_yuki.rb', line 1087 def reset_release_checks @release_checks = @release_checks_default.dup return self end |
#reset_selecting ⇒ Object
:nodoc:
1653 1654 1655 1656 1657 |
# File 'lib/Miyako/API/i_yuki.rb', line 1653 def reset_selecting #:nodoc: @select_ok = false @select_cancel = false @select_amount = [0, 0] end |
#result ⇒ Object
プロットの処理結果を返す
- [Yukiスクリプトとして利用可能]
-
プロット処理の結果を返す。 まだ結果が得られていない場合はnilを得る プロット処理が終了していないのに結果を得られるので注意!
- 返却値
-
プロットの処理結果
1187 1188 1189 |
# File 'lib/Miyako/API/i_yuki.rb', line 1187 def result return @plot_result end |
#result=(ret = nil) ⇒ Object
プロット処理の結果を設定する
- [Yukiスクリプトとして利用可能]
- ret
-
設定する結果。デフォルトはnil
- 返却値
-
自分自身を返す
1195 1196 1197 1198 |
# File 'lib/Miyako/API/i_yuki.rb', line 1195 def result=(ret = nil) @plot_result = ret return self end |
#select_commandbox(box, box_all = nil) ⇒ Object
表示・描画対象のコマンドボックスを選択する
第2引数として、テキストボックス全体を渡せる(省略可能) 第1引数が、PartsやSpriteListの1部分のときに、第2引数を渡すことで、 テキストボックス全体を制御可能 第2引数を省略時は、全バージョンに引き続いて、テキストボックス本体のみを制御する
- [Yukiスクリプトとして利用可能]
- box
-
テキストボックス本体
- box_all
-
テキストボックス全体
- 返却値
-
自分自身を返す
608 609 610 611 612 |
# File 'lib/Miyako/API/i_yuki.rb', line 608 def select_commandbox(box, box_all = nil) @command_box = box @command_box_all = box_all || box return self end |
#select_first_page(name) ⇒ Object
プロット上の最初に実行するページを指定知る
- [Yukiスクリプトとして利用可能]
-
但し、ページ名を指定しないときはnilを指定する。
- name
-
最初に実行するページ名
1722 1723 1724 |
# File 'lib/Miyako/API/i_yuki.rb', line 1722 def select_first_page(name) @first_page = name end |
#select_key_enable? ⇒ Boolean
1539 1540 1541 |
# File 'lib/Miyako/API/i_yuki.rb', line 1539 def select_key_enable? @select_key_enable end |
#select_mouse_enable? ⇒ Boolean
1535 1536 1537 |
# File 'lib/Miyako/API/i_yuki.rb', line 1535 def select_mouse_enable? @select_mouse_enable end |
#select_plot(plot_proc) ⇒ Object
実行するプロットと登録する
- plot_proc
-
プロットの実行部をインスタンス化したオブジェクト
- 返却値
-
自分自身を返す
950 951 952 953 |
# File 'lib/Miyako/API/i_yuki.rb', line 950 def select_plot(plot_proc) @exec_plot = plot_proc return self end |
#select_result ⇒ Object
コマンドの選択結果を返す
- [Yukiスクリプトとして利用可能]
-
コマンド選択の結果を返す。 まだ結果が得られていない場合はnilを得る プロット処理・コマンド選択が終了していないのに結果を得られるので注意!
- 返却値
-
コマンドの選択結果
1665 1666 1667 |
# File 'lib/Miyako/API/i_yuki.rb', line 1665 def select_result return @result end |
#select_textbox(box, box_all = nil) ⇒ Object
表示・描画対象のテキストボックスを選択する
第2引数として、テキストボックス全体を渡せる(省略可能) 第1引数が、PartsやSpriteListの1部分のときに、第2引数を渡すことで、 テキストボックス全体を制御可能 第2引数を省略時は、全バージョンに引き続いて、テキストボックス本体のみを制御する
- [Yukiスクリプトとして利用可能]
- box
-
テキストボックス本体
- box_all
-
テキストボックス全体
- 返却値
-
自分自身を返す
588 589 590 591 592 593 594 595 596 |
# File 'lib/Miyako/API/i_yuki.rb', line 588 def select_textbox(box, box_all = nil) @text_box = box @text_box_all = box_all || box unless @command_box @command_box = @text_box @command_box_all = @text_box_all end return self end |
#setup(*params, &proc) ⇒ Object
シーンのセットアップ時に実行する処理
ブロック引数として、テキストボックスの変更などの処理をブロック内に記述することが出来る。 引数の数とブロック引数の数が違っていれば例外が発生する
- params
-
ブロックに渡す引数リスト(ブロックを渡しているときのみ)
- 返却値
-
自分自身を返す
926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 |
# File 'lib/Miyako/API/i_yuki.rb', line 926 def setup(*params, &proc) @exec_plot = nil @pause_release = false @select_ok = false @select_cancel = false @select_amount = [0, 0] @mouse_amount = nil @result = nil @plot_result = nil @now_page = nil @first_page = nil raise MiyakoProcError, "Argument count is not same block parameter count!" if proc && proc.arity.abs != params.length instance_exec(*params, &proc) if proc return self end |
#show(*names) ⇒ Object
パーツで指定したオブジェクトを先頭に表示する
- [Yukiスクリプトとして利用可能]
-
描画時に、指定したパーツを描画する すでにshowメソッドで表示指定している場合は、先頭に表示させる
- names
-
パーツ名(シンボル)、複数指定可能(指定した順番に描画される)
- 返却値
-
自分自身を返す
704 705 706 707 708 709 710 711 712 713 714 |
# File 'lib/Miyako/API/i_yuki.rb', line 704 def show(*names) if names.length == 0 @visibles.each_value{|sprite| sprite.show} return self end names.each{|name| @visibles.add(name, @parts[name]) unless @visibles.include?(name) @visibles[name].show } return self end |
#show_commandbox ⇒ Object
コマンドボックスを描画可能にする
- [Yukiスクリプトとして利用可能]
- 返却値
-
レシーバ
657 658 659 660 |
# File 'lib/Miyako/API/i_yuki.rb', line 657 def show_commandbox @command_box_all.show return self end |
#show_textbox ⇒ Object
テキストボックスを描画可能にする
- [Yukiスクリプトとして利用可能]
- 返却値
-
レシーバ
649 650 651 652 |
# File 'lib/Miyako/API/i_yuki.rb', line 649 def show_textbox @text_box_all.show return self end |
#size(size, valign = @valign, &block) ⇒ Object
文字の大きさを変更する
- [Yukiスクリプトとして利用可能]
-
ブロック内で指定した文字列を、指定の大きさで描画する
- size
-
文字の大きさ(整数)
- valign
-
文字の縦の位置(top, middle, bottom)。デフォルトは:middle(Yuki#valign=,Yuki#valign_duringで変更可能)
- 返却値
-
自分自身を返す
1442 1443 1444 1445 1446 1447 |
# File 'lib/Miyako/API/i_yuki.rb', line 1442 def size(size, valign = @valign, &block) @text_box.font_size_during(size){ @text_box.margin_during(@text_box.margin_height(valign)){ text block.call } } return self end |
#start(name) ⇒ Object
パーツで指定したオブジェクトの処理を開始する
- [Yukiスクリプトとして利用可能]
-
nameで指定したパーツが持つ処理(例:アニメーション)を開始する。 (但し、パーツで指定したオブジェクトがstartメソッドを持つことが条件)
- name
-
パーツ名(シンボル)
- 返却値
-
自分自身を返す
856 857 858 859 860 |
# File 'lib/Miyako/API/i_yuki.rb', line 856 def start(name) @parts[name].start post_process return self end |
#start_all ⇒ Object
376 377 378 379 380 381 382 |
# File 'lib/Miyako/API/i_yuki.rb', line 376 def start_all self.bgs.start self.visibles.start self.textbox_all.start self.commandbox_all.start unless self.box_shared? self.pre_visibles.start end |
#start_plot(base, plot_proc = nil, *params, &plot_block) ⇒ Object
プロット処理を実行する(明示的に呼び出す必要がある場合)
引数もしくはブロックで指定したプロット処理を非同期に実行する。 呼び出し可能なプロットは以下の3種類。(上から優先度が高い順) プロットが見つからなければ例外が発生する
1)引数prot_proc(Procクラスのインスタンス)
2)引数として渡したブロック
3)select_plotメソッドで登録したブロック(Procクラスのインスタンス)
- base
-
プロット
- plot_proc
-
プロットの実行部をインスタンス化したオブジェクト。省略時はnil(paramsを指定するときは必ず設定すること)
- params
-
プロットに引き渡す引数リスト
- 返却値
-
自分自身を返す
970 971 972 973 974 975 976 977 978 |
# File 'lib/Miyako/API/i_yuki.rb', line 970 def start_plot(base, plot_proc = nil, *params, &plot_block) raise MiyakoValueError, "Yuki Error! Textbox is not selected!" unless @text_box raise MiyakoProcError, "Argument count is not same block parameter count!" if plot_proc && plot_proc.arity.abs != params.length raise MiyakoProcError, "Argument count is not same block parameter count!" if plot_block && plot_block.arity.abs != params.length raise MiyakoProcError, "Argument count is not same block parameter count!" if @exec_plot && @exec_plot.arity.abs != params.length @base = base plot_facade(plot_proc, *params, &plot_block) return self end |
#stop(name) ⇒ Object
パーツで指定したオブジェクトの処理を停止する
- [Yukiスクリプトとして利用可能]
-
nameで指定したパーツが持つ処理を停止する。 (但し、パーツで指定したオブジェクトがstopメソッドを持つことが条件)
- name
-
パーツ名(シンボル)
- 返却値
-
自分自身を返す
880 881 882 883 884 |
# File 'lib/Miyako/API/i_yuki.rb', line 880 def stop(name) @parts[name].stop post_process return self end |
#stop_all ⇒ Object
384 385 386 387 388 389 390 |
# File 'lib/Miyako/API/i_yuki.rb', line 384 def stop_all self.bgs.stop self.visibles.stop self.textbox_all.stop self.commandbox_all.stop unless self.box_shared? self.pre_visibles.stop end |
#text(txt) ⇒ Object
テキストボックスに文字を表示する
- [Yukiスクリプトとして利用可能]
-
テキストボックスとして用意している画像に文字を描画する。 描画する単位(文字単位、文字列単位)によって、挙動が違う。 (文字単位の時) Yuki#text_by_charメソッドと同じ挙動。 (文字列単位の時) Yuki#text_by_strメソッドと同じ挙動。 デフォルトは文字単位。 引数txtの値は、内部で1文字ずつ分割され、1文字描画されるごとに、 update_textメソッドが呼び出され、続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る
- txt
-
表示させるテキスト
- 返却値
-
自分自身を返す
1277 1278 1279 |
# File 'lib/Miyako/API/i_yuki.rb', line 1277 def text(txt) return @text_methods[@text_method_name].call(txt) end |
#text_by_char(txt) ⇒ Object
テキストボックスに文字を1文字ずつ表示する
- [Yukiスクリプトとして利用可能]
-
引数txtの値は、内部で1文字ずつ分割され、1文字描画されるごとに、 update_textメソッドが呼び出され、続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。
- txt
-
表示させるテキスト
- 返却値
-
自分自身を返す
1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 |
# File 'lib/Miyako/API/i_yuki.rb', line 1288 def text_by_char(txt) return self unless txt.class.method_defined?("chars") txt.chars{|ch| pre_process if ch == "\n" || ch == "\r" next wait_by_cond(@is_outer_height) elsif @text_box.locate.x + @text_box.font.text_size(ch)[0] >= @text_box.textarea.w wait_by_cond(@is_outer_height) elsif ch == "\t" || ch == "\f" next nil end @text_box.draw_text(ch) @base.text_inner(self, ch) if @base post_process } return self end |
#text_by_char_rapid(txt) ⇒ Object
テキストボックスに文字を1文字ずつ表示する
- [Yukiスクリプトとして利用可能]
-
引数txtの値は、内部で1文字ずつ分割され、1文字描画されるごとに、 update_textメソッドが呼び出され、続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。
- txt
-
表示させるテキスト
- 返却値
-
自分自身を返す
1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 |
# File 'lib/Miyako/API/i_yuki.rb', line 1313 def text_by_char_rapid(txt) return self unless txt.class.method_defined?("chars") pre_process txt.chars{|ch| if ch == "\n" || ch == "\r" next wait_by_cond(@is_outer_height) elsif @text_box.locate.x + @text_box.font.text_size(ch)[0] >= @text_box.textarea.w wait_by_cond(@is_outer_height) elsif ch == "\t" || ch == "\f" next nil end @text_box.draw_text(ch) @base.text_inner(self, ch) if @base } post_process return self end |
#text_by_str(txt) ⇒ Object
テキストボックスに文字を表示する
- [Yukiスクリプトとして利用可能]
-
文字列が描画されるごとに、update_textメソッドが呼び出され、 続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。
- txt
-
表示させるテキスト
- 返却値
-
自分自身を返す
1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 |
# File 'lib/Miyako/API/i_yuki.rb', line 1338 def text_by_str(txt) return self unless txt.class.method_defined?("chars") use_cr = false tw = @text_box.textarea.w until txt.empty? do pre_process if /[\n\r]/.match(txt) tmp = Regexp.last_match.pre_match txt = Regexp.last_match.post_match use_cr = true elsif @text_box.locate.x + @text_box.font.text_size(txt)[0] >= tw tmp = txt.slice!(0,(tw - @text_box.locate.x) / @text_box.font.size) use_cr = true elsif /[\t\f]/.match(txt) post_process next nil else tmp = txt txt = "" end @text_box.draw_text(tmp) if use_cr self.cr use_cr = false end @base.text_inner(self, tmp) if @base post_process end return self end |
#text_by_str_rapid(txt) ⇒ Object
テキストボックスに文字を表示する
- [Yukiスクリプトとして利用可能]
-
文字列が描画されるごとに、update_textメソッドが呼び出され、 続けてYuki#start_plotもしくはYuki#updateメソッド呼び出し直後に戻る 注意として、改行が文字列中にあれば改行、タブやフィードが文字列中にあれば、nilを返す。
- txt
-
表示させるテキスト
- 返却値
-
自分自身を返す
1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 |
# File 'lib/Miyako/API/i_yuki.rb', line 1375 def text_by_str_rapid(txt) return self unless txt.class.method_defined?("chars") use_cr = false tw = @text_box.textarea.w pre_process until txt.empty? do if /[\n\r]/.match(txt) tmp = Regexp.last_match.pre_match txt = Regexp.last_match.post_match use_cr = true elsif @text_box.locate.x + @text_box.font.text_size(txt)[0] >= tw tmp = txt.slice!(0,(tw - @text_box.locate.x) / @text_box.font.size) use_cr = true elsif /[\t\f]/.match(txt) next nil else tmp = txt txt = "" end @text_box.draw_text(tmp) if use_cr self.cr use_cr = false end end @base.text_inner(self, tmp) if @base post_process return self end |
#text_method(mode) ⇒ Object
テキストボックスに文字を表示する方法を指定する
引数に、:charを渡すと1文字ごと、:stringを渡すと文字列ごとに表示される。それ以外を指定したときは例外が発生 ブロックを渡せば、ブロックの評価中のみ設定が有効になる。 ブロック評価終了後、呼び出し前の設定に戻る
- mode
-
テキストの表示方法。:charのときは文字ごと、:stringのときは文字列ごとに表示される。それ以外を指定したときは例外が発生
- 返却値
-
自分自身を返す
1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 |
# File 'lib/Miyako/API/i_yuki.rb', line 1253 def text_method(mode) raise MiyakoValueError, "undefined text_mode! #{mode}" unless @text_methods.keys.include?(mode) backup = @text_method_name @text_method_name = mode if block_given? yield @text_method_name = backup end return self end |
#textbox ⇒ Object
テキストボックスを取得する
- [Yukiスクリプトとして利用可能]
-
テキストボックスが登録されていないときはnilを返す
- 返却値
-
テキストボックス
618 619 620 |
# File 'lib/Miyako/API/i_yuki.rb', line 618 def textbox return @text_box end |
#textbox_all ⇒ Object
テキストボックス全体を取得する
- [Yukiスクリプトとして利用可能]
-
テキストボックスが登録されていないときはnilを返す
- 返却値
-
テキストボックス全体
634 635 636 |
# File 'lib/Miyako/API/i_yuki.rb', line 634 def textbox_all return @text_box_all end |
#to_plot(&plot) ⇒ Object
プロット用ブロックをYukiへ渡すためのインスタンスを作成する
プロット用に用意したブロック(ブロック引数無し)を、Yukiでの選択結果や移動先として利用できる インスタンスに変換する
- 返却値
-
ブロックをオブジェクトに変換したものを返す
1021 1022 1023 |
# File 'lib/Miyako/API/i_yuki.rb', line 1021 def to_plot(&plot) return plot end |
#under_engine ⇒ Object
991 992 993 |
# File 'lib/Miyako/API/i_yuki.rb', line 991 def under_engine @under_yuki end |
#under_engine=(engine) ⇒ Object
995 996 997 |
# File 'lib/Miyako/API/i_yuki.rb', line 995 def under_engine=(engine) @under_yuki = engine end |
#under_line(&block) ⇒ Object
下線付き文字を描画する
- [Yukiスクリプトとして利用可能]
-
ブロック内で指定した文字列を下線付きで表示する
- 返却値
-
自分自身を返す
1473 1474 1475 1476 |
# File 'lib/Miyako/API/i_yuki.rb', line 1473 def under_line(&block) @text_box.font_under_line{ text block.call } return self end |
#update ⇒ Object
プロット処理を更新する
ポーズ中、コマンド選択中、 Yuki#wait メソッドによるウェイトの状態確認を行う。 プロット処理の実行確認は出来ない
437 438 439 440 441 442 443 444 |
# File 'lib/Miyako/API/i_yuki.rb', line 437 def update @base.update_inner(self) if @base @pause_release = false @select_ok = false @select_cancel = false @select_amount = [0, 0] return nil end |
#update_animation ⇒ Object
Yuki#showで表示指定した画像のアニメーションを更新する
showメソッドで指定した画像のupdate_animationメソッドを呼び出す
- 返却値
-
描く画像のupdate_spriteメソッドを呼び出した結果を配列で返す
457 458 459 460 |
# File 'lib/Miyako/API/i_yuki.rb', line 457 def update_animation return @base.update_animation_inner(self) if @base return false end |
#update_animation_all ⇒ Object
446 447 448 449 450 451 452 |
# File 'lib/Miyako/API/i_yuki.rb', line 446 def update_animation_all self.bgs.update_animation self.visibles.update_animation self.textbox_all.update_animation self.commandbox_all.update_animation unless self.box_shared? self.pre_visibles.update_animation end |
#update_input ⇒ Object
プロット処理に使用する入力情報を更新する
ポーズ中、コマンド選択中に使用する入力デバイスの押下状態を更新する (但し、プロット処理の実行中にのみ更新する) Yuki#update メソッドをそのまま使う場合は呼び出す必要がないが、 Yuki#exec_plot メソッドを呼び出す プロット処理の場合は、メインスレッドから明示的に呼び出す必要がある
- 返却値
-
nil を返す
1031 1032 1033 1034 |
# File 'lib/Miyako/API/i_yuki.rb', line 1031 def update_input @base.input_inner(self) if @base return nil end |
#valign_during(valign) ⇒ Object
ブロック評価中、行中の表示位置を変更する
- [Yukiスクリプトとして利用可能]
-
ブロックを評価している間だけ、デフォルトの縦の表示位置を変更する 変更できる値は、:top、:middle、:bottomの3種類。 ブロックを渡していないときはエラーを返す
- valign
-
文字の縦の位置(top, middle, bottom)
- 返却値
-
自分自身を返す
1428 1429 1430 1431 1432 1433 1434 |
# File 'lib/Miyako/API/i_yuki.rb', line 1428 def valign_during(valign) raise MiyakoProcError, "Can't find block!" unless block_given? oalign, @valign = @valign, valign yield @valign = oalign return self end |
#vars ⇒ Object
変数を参照する
- [Yukiスクリプトとして利用可能]
-
変数の管理オブジェクトを、ハッシュとして参照する。 変数名nameを指定して、インスタンスを参照できる。 未登録の変数はnilが変える。 (例)vars = 2 # 変数への代入
vars[:b] = vars[:a] + 5 show vars[:my_name]
- name
-
パーツ名(シンボル)
- 返却値
-
変数管理ハッシュ
483 484 485 |
# File 'lib/Miyako/API/i_yuki.rb', line 483 def vars @vars end |
#vars_names ⇒ Object
変数を参照する
- [Yukiスクリプトとして利用可能]
-
変数の管理オブジェクトを、ハッシュとして参照する。 変数名nameを指定して、インスタンスを参照できる。 未登録の変数はnilが変える。 (例)vars = 2 # 変数への代入
vars[:b] = vars[:a] + 5 vars_names => [:a, :b]
- name
-
パーツ名(シンボル)
- 返却値
-
変数管理ハッシュ
499 500 501 |
# File 'lib/Miyako/API/i_yuki.rb', line 499 def vars_names @vars.keys end |
#visibles_names ⇒ Object
現在描画対象のパーツ名のリストを取得する
- [Yukiスクリプトとして利用可能]
-
現在描画しているパーツ名の配列を参照する。 実体のインスタンスは、partsメソッドで参照できるハッシュの値として格納されている。 Yuki#renderで描画する際、配列の先頭から順に、要素に対応するインスタンスを描画する(つまり、配列の後ろにある方が前に描画される (例):[:a, :b, :c]の順に並んでいたら、:cが指すインスタンスが一番前に描画される。
- 返却値
-
描画対象リスト
537 538 539 |
# File 'lib/Miyako/API/i_yuki.rb', line 537 def visibles_names @visibles.names end |
#wait(length) ⇒ Object
プロットの処理を待機する
- [Yukiスクリプトとして利用可能]
-
指定の秒数(少数可)、プロットの処理を待機する。 待機中、update_innerメソッドを呼び出し、続けて、処理をYuki#startもしくはYuki#update呼び出し直後に戻す Yuki#updateが呼び出されても待機中の場合は、再び上記の処理を繰り返す
- length
-
待機する長さ。単位は秒。少数可。
- 返却値
-
自分自身を返す
1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 |
# File 'lib/Miyako/API/i_yuki.rb', line 1676 def wait(length) @waiting_timer = WaitCounter.new(length) @waiting_timer.start waiting = true while waiting pre_process @base.waiting_inner(self) if @base waiting = @waiting_timer.waiting? post_process end return self end |
#wait_by_cond(cond = nil) ⇒ Object
条件に合っていればポーズをかける
- [Yukiスクリプトとして利用可能]
-
引数で設定した条件(Proc,メソッドインスタンス,ブロック)を評価した結果、trueのときはポーズを行い、 condの値がnilで、ブロックが渡されていないときは何もしない falseのときは改行してプロットの処理を継続する
- cond
-
条件を示すオブジェクト(返却値はtrue/false)。デフォルトはnil(渡されたブロックを評価する)
- 返却値
-
自分自身を返す
1241 1242 1243 1244 1245 |
# File 'lib/Miyako/API/i_yuki.rb', line 1241 def wait_by_cond(cond = nil) return yield ? pause_and_clear : cr if block_given? return cond.call ? pause_and_clear : cr if cond return self end |
#wait_by_finish(name, is_clear = true) ⇒ Object
遷移図の処理が終了するまで待つ
- [Yukiスクリプトとして利用可能]
-
nameで指定した遷移図の処理が終了するまで、プロットを停止する name: 遷移図名(シンボル)
- 返却値
-
自分自身を返す
891 892 893 894 895 896 |
# File 'lib/Miyako/API/i_yuki.rb', line 891 def wait_by_finish(name, is_clear = true) until @parts[name].finish? process(is_clear) end return self end |