次は選択肢の作り方です。 「伺か」の一般的な、相方キャラつきのゴーストと異なり、COLORS betaやCOLORS Widgetでは原則的に単体でトークを行います。ですので、選択肢を用いたユーザーとのやりとりは、唯一、他者とのコミュニケーション劇を行える表現になりますので、とても重要です。 何かボケてユーザーにつっこませ、さらにボケる など様々な応用が考えられます。ユーザーにボケさせて、それをつっこむ ユーザーにボケさせて、それに乗る まず、クリックできる選択肢を表示するには、文中で \q[選択肢表示文字列","選択時発動イベントハンドラ名(好きにつけてよい)] と書きます。すると、選択肢が表示されます。(さくらスクリプトに詳しい人は注意してください。一般的なさくらスクリプトの使用法と異なる部分があります!それは、選択肢表示文字列と選択肢発動イベントハンドラ名を仕切る「,」の前後を「"」で囲っていることです。華和梨辞書中では「,」は単語の区切り、という特別な意味を持つ文字です。そのため、ここで華和梨に単語をぶちぎられないために、「,」を「"」で囲う必要があります。) このさくらスクリプトにより表示された選択肢をユーザーが押すと、「Select.選択肢発動イベントハンドラ名(\qにて好きにつけた名前)」エントリに登録されている単語が、次に続くトークとして呼び出されます。 ちょっとややこしかったですね。以下、例です。 sentence : \0\s[102]今日はいい天気ですね?\n・\q[気持ちいいね","feelgood]\n・\q[リア充爆発しろ","feelbad]Select.feelgood : \0\s[133]本当に気持ちいいですね。\w8\w8どこか行きましょうか?\eSelect.feelbad : \0\s[310]私だって…\w8\w82次元ですから…\w8\w8\0\s[320]察してくださいよう…\eユーザーが「気持ちいいね」を選択すると、イベントハンドラ(feelgoodと名づけてある)が呼び出され、Select.feelgoodに登録されたネタ「本当に気持ちいいですね。(略)」が表示されます。 ユーザーが「リア充爆発しろ」を選択すると、イベントハンドラ(feelbadと名づけてある)が呼び出され、Select.feelbadに登録されたネタ「私だって…2次元ですから…(略)」が表示されます。 sentence : \0\s[102]今日はいい天気ですね?\n・\q[気持ちいいね","feelgood]\n・\q[リア充爆発しろ","feelbad]Select.feelgood : \0\s[133]本当に気持ちいいですね。\w8\w8どこか行きましょうか?\eSelect.feelgood : \0\s[102]こんな日は…\w8\w8\0\s[232]仕事なんてしていられないですね…\eSelect.feelbad : \0\s[310]私だって…\w8\w82次元ですから…\w8\w8\0\s[320]察してくださいよう…\eSelect.feelbad : \0\s[412]あらあら。\w8\w8いらいらしていると、しわが増えますよ?\eなお、COLORS Widgetでは、クリック時に呼び出されるエントリ名が「Select.選択肢発動イベントハンドラ名」ではなく、「event.選択肢発動イベントハンドラ名」なので橋渡しが必要になります。さらに、このイベントハンドラも本当はキャラごとに名前を変えたほうがよく、また、COLORS Widgetではハンドラ名に全角文字などを使うのは非対応なので使用しないのが無難なので… 上の例を実際に組み込むときは以下の用にするのが実際的です。(キャラの名前が「しんぷるとん」の場合) event.OnLoad : ${event.OnTalk}event.OnClick : ${event.OnTalk}event.OnTalk : ${sentence}sentence : \0\s[102]今日はいい天気ですね?\n・\q[気持ちいいね","_simpleton_.feelgood]\n・\q[リア充爆発しろ","_simpleton_.feelbad]event._simpleton_.feelgood : ${Select._simpleton_.feelgood}event._simpleton_.feelbad : ${Select._simpleton_.feelbad}Select._simpleton_.feelgood : \0\s[133]本当に気持ちいいですね。\w8\w8どこか行きましょうか?\eSelect._simpleton_.feelgood : \0\s[102]こんな日は…\w8\w8\0\s[232]仕事なんてしていられないですね…\eSelect._simpleton_.feelbad : \0\s[310]私だって…\w8\w82次元ですから…\w8\w8\0\s[320]察してくださいよう…\eSelect._simpleton_.feelbad : \0\s[412]あらあら。\w8\w8いらいらしていると、しわが増えますよ?\eこの例をさらに発展させ、選択肢に表示する文字列をランダムに入れ替えることもできます。たとえば、 event.OnLoad : ${event.OnTalk}event.OnClick : ${event.OnTalk}event.OnTalk : ${sentence}_simpleton_.天気いい : 気持ちいいね, 晴れてよかった_simpleton_.天気よくない : どんよりだぜ, リア充爆発しろevent._simpleton_.feelgood : ${Select._simpleton_.feelgood}event._simpleton_.feelbad : ${Select._simpleton_.feelbad}Select._simpleton_.feelgood : \0\s[133]本当に気持ちいいですね。\w8\w8どこか行きましょうか?\eSelect._simpleton_.feelgood : \0\s[102]こんな日は…\w8\w8\0\s[232]仕事なんてしていられないですね…\eSelect._simpleton_.feelbad : \0\s[310]私だって…\w8\w82次元ですから…\w8\w8\0\s[310]察してくださいよう…\eSelect._simpleton_.feelbad : \0\s[412]あらあら。\w8\w8いらいらしていると、しわが増えますよ?\eちょっと込み入った書き方になりますが、反応のバリエーションが広がります。 さらに応用すれば、イベントハンドラ(選択時に発動するネタ先)も含めてごっそり入れ替えるように書くこともできるでしょう。 |
