里々の内部処理
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*里々の内部処理 [#vab10f90]
ここでは、里々がdll内部で行っている処理のうち、注意を要す...
こうした処理は本来里々利用者の便宜を計るために行われてい...
また他のSHIORIの経験があるとかえってつまずきやすい部分で...
里々を使っていて奇妙な不具合に遭遇した場合には、思い出し...
----
#contents
----
~
*里々の選択肢処理 [#l4773df8]
本題の前に、里々利用者が見落としがちな基本的な原理につい...
里々ではさくらスクリプトも使用できますが、捉え方としては...
以降、''辞書のトークは自動的にさくらスクリプトに変換され...
----
下例は、あるトークと、それを里々が自動的に変換した結果の...
*
:(7)じゃんけんするよー!
:いくでー。(11)最初は……
_グー
_パー【タブ】アンブッシュ
\1\n[half]\0\_w[6]\s[7]じゃんけんするよー!\n\n[half]\1\...
……\n\q[グー,グーグー1]\n\q[パー,アンブッシュパー2]\e
選択肢である &color(#ff0000){\q[グー,グーグー1]}; と、 ...
明らかに記述した覚えの無い単語が、\qタグ内に勝手に記述さ...
----
実は、里々は[[選択肢に関連した情報取得変数>情報取得変数#f...
まず、里々の選択肢の記法は、以下のようなさくらスクリプト...
_選択ラベル【タブ】選択ID
\q[選択ラベル,選択ID]
ここまでは基本的なさくらスクリプトですが、里々はさらに続...
\q[選択ラベル,選択ID(バイト値、1)選択ラベル(バイト...
結果、選択肢が選ばれ、OnChoiceSelectイベントがベースウェ...
&color(#ff0000){選択ID 選択ラベル 選択番号};~
が返却される事になります(半角スペースは1バイト文字)。~
里々はこれをユーザーの目に触れる前に内部で分割し、それぞ...
'''※OnChoiceEnterでも選択IDの再変換が行われるようです。...
**留意すべき点 [#c394f8dc]
しかしながら、上記の選択肢の仕様はさくらスクリプト構成の...
例えば、スクリプトログで確認できるように、MAKOTOやreplace...
上記の変形を受けた段階のものという事になります。~
OnTranslateを活用するケースでは、このイベントの性質からト...
SSPがいくつか独自に実装している、選択肢関係のSHIORI Event...
例えば、SSPはOnChoiceSelectと同時にOnChoiceSelectExという...
しかし、里々の上記処理はこれらSSP独自のイベントには対応し...
従って、上記の戻し処理が行われないので、ID部分には上記...
-\q → OnChoiceSelect~
加工処理が行われ、正しく分割される
-\q → OnChoiceSelectEx~
加工処理が行われるが、分割されないので本来IDが入ってい...
結論として、里々では\q選択肢タグでOnChoiceSelectExイベン...
(この動作仕様が把握できれば、処理を組んで稼動させる事は...
ちなみに、SSPでは選択肢系のさくらスクリプトとして、
\__q[選択ID]選択ラベル\__q
というタグも用意されていますが、こちらは選択IDが未加工...
*OnUpdateReadyのファイル数 [#yac98fc9]
SHIORI Event([[参照:構造とイベントの流れ>#gc01536d]]のR...
~どのイベントでどのようなReferenceが取得できるかは、通常S...
~ただしネットワーク更新において更新すべきファイルが見つか...
~UKADOCにもあるように、OnUpdateReadyのReference0には本来...
~しかし里々の(R0)ではこの値は補正され、更新を行うファイ...
~これは例えば
*OnUpdateReady
:ネットワーク更新を開始するよ。
:ファイルは全部で(R0)個あるみたいや。
といったトークを書く場合に(R0)を素直な序数として扱うの...
~
~しかし一方で、同様に更新ファイル総数や現在更新中のファイ...
~
もし
#思ったように動かない例
*OnUpdate.OnDownloadBegin
:今(R1)個目のファイルをダウンロード中だよ~。
などといったトークを実現したい場合は、[[calc関数>関数一覧...
#思ったように動く例
*OnUpdate.OnDownloadBegin
:今(calc,(R1)+1)個目のファイルをダウンロード中だよ...
のようにする必要があります。
//以下作成予定だけどだれかやってもいいんじゃよ
//*replace.txtとreplace_after.txt
//*dicAnchorの処理
終了行:
*里々の内部処理 [#vab10f90]
ここでは、里々がdll内部で行っている処理のうち、注意を要す...
こうした処理は本来里々利用者の便宜を計るために行われてい...
また他のSHIORIの経験があるとかえってつまずきやすい部分で...
里々を使っていて奇妙な不具合に遭遇した場合には、思い出し...
----
#contents
----
~
*里々の選択肢処理 [#l4773df8]
本題の前に、里々利用者が見落としがちな基本的な原理につい...
里々ではさくらスクリプトも使用できますが、捉え方としては...
以降、''辞書のトークは自動的にさくらスクリプトに変換され...
----
下例は、あるトークと、それを里々が自動的に変換した結果の...
*
:(7)じゃんけんするよー!
:いくでー。(11)最初は……
_グー
_パー【タブ】アンブッシュ
\1\n[half]\0\_w[6]\s[7]じゃんけんするよー!\n\n[half]\1\...
……\n\q[グー,グーグー1]\n\q[パー,アンブッシュパー2]\e
選択肢である &color(#ff0000){\q[グー,グーグー1]}; と、 ...
明らかに記述した覚えの無い単語が、\qタグ内に勝手に記述さ...
----
実は、里々は[[選択肢に関連した情報取得変数>情報取得変数#f...
まず、里々の選択肢の記法は、以下のようなさくらスクリプト...
_選択ラベル【タブ】選択ID
\q[選択ラベル,選択ID]
ここまでは基本的なさくらスクリプトですが、里々はさらに続...
\q[選択ラベル,選択ID(バイト値、1)選択ラベル(バイト...
結果、選択肢が選ばれ、OnChoiceSelectイベントがベースウェ...
&color(#ff0000){選択ID 選択ラベル 選択番号};~
が返却される事になります(半角スペースは1バイト文字)。~
里々はこれをユーザーの目に触れる前に内部で分割し、それぞ...
'''※OnChoiceEnterでも選択IDの再変換が行われるようです。...
**留意すべき点 [#c394f8dc]
しかしながら、上記の選択肢の仕様はさくらスクリプト構成の...
例えば、スクリプトログで確認できるように、MAKOTOやreplace...
上記の変形を受けた段階のものという事になります。~
OnTranslateを活用するケースでは、このイベントの性質からト...
SSPがいくつか独自に実装している、選択肢関係のSHIORI Event...
例えば、SSPはOnChoiceSelectと同時にOnChoiceSelectExという...
しかし、里々の上記処理はこれらSSP独自のイベントには対応し...
従って、上記の戻し処理が行われないので、ID部分には上記...
-\q → OnChoiceSelect~
加工処理が行われ、正しく分割される
-\q → OnChoiceSelectEx~
加工処理が行われるが、分割されないので本来IDが入ってい...
結論として、里々では\q選択肢タグでOnChoiceSelectExイベン...
(この動作仕様が把握できれば、処理を組んで稼動させる事は...
ちなみに、SSPでは選択肢系のさくらスクリプトとして、
\__q[選択ID]選択ラベル\__q
というタグも用意されていますが、こちらは選択IDが未加工...
*OnUpdateReadyのファイル数 [#yac98fc9]
SHIORI Event([[参照:構造とイベントの流れ>#gc01536d]]のR...
~どのイベントでどのようなReferenceが取得できるかは、通常S...
~ただしネットワーク更新において更新すべきファイルが見つか...
~UKADOCにもあるように、OnUpdateReadyのReference0には本来...
~しかし里々の(R0)ではこの値は補正され、更新を行うファイ...
~これは例えば
*OnUpdateReady
:ネットワーク更新を開始するよ。
:ファイルは全部で(R0)個あるみたいや。
といったトークを書く場合に(R0)を素直な序数として扱うの...
~
~しかし一方で、同様に更新ファイル総数や現在更新中のファイ...
~
もし
#思ったように動かない例
*OnUpdate.OnDownloadBegin
:今(R1)個目のファイルをダウンロード中だよ~。
などといったトークを実現したい場合は、[[calc関数>関数一覧...
#思ったように動く例
*OnUpdate.OnDownloadBegin
:今(calc,(R1)+1)個目のファイルをダウンロード中だよ...
のようにする必要があります。
//以下作成予定だけどだれかやってもいいんじゃよ
//*replace.txtとreplace_after.txt
//*dicAnchorの処理
ページ名: