<チュートリアルの作成方法>
*処理ツール用チュートリアルの作成方法 [#v79c667a]
-ファイル:[ツール名Tutorial.txt]を、ツールのフォルダ内におくだけで、キャラクターがツールの使い方を説明してくれる、キャラクターアシストチュートリアルを作成できます。
--ex) ツール名がAbcde(ソースファイルがAbcde.java)のとき、AbcdeTutorial.txt ファイルを作成します。
-以下の記述は、ツールの説明以外のチュートリアルと共通のフォーマットとなっているため、ツールの説明用には用いられないものもあります。
--◎のタグの利用がおすすめです。
-チュートリアルの開始時には、ツールの「セット」ボタンを押したときのパネル構成に、自動的にセットされます。
-チュートリアルの開始時には、text/urashima.txtファイル(浦島太郎のテキスト)が、自動的に読み込まれます。

1.セリフ: 対応タグ=normal
*チュートリアルファイルの基本フォーマット [#m7ceffff]
-1行から3行の説明をひとかたまりのセリフとします。
-1行は30文字以内で記述してください。
-セリフとセリフの区切りには、空行(または後述のタグ)を入れてください。
--セリフの区切り以外に、空行は入れないでください。
--具体的な記述例は、既存のツールのファイルを参照してください。

キャラクターに喋らせたいセリフを並べます.
「改行」により,セリフの区切りを入れることができます.
*セリフの種類とフォーマット [#fd1dc7dc]
-以下の12種類のタグとセリフの組み合わせでファイルを記述します。
-以下のタグは、&color(blue){''1つのセリフに対して併用できません。''};
-最後のendタグ以外は、すべて&color(blue){''セリフとなる文章とセットで使用''};する必要があります。

1つのセリフは1行から最大3行までです.
#3行以内に必ず「改行」を入れてください.
**◎1.セリフ [#u7d8c44f]

また,以下のタグがあった場合にも,セリフが区切られます.
逆に,endタグ以外は,すべてセリフとセットで使用する必要があります.
#以下の各タグは,すべて併用できません.
***normal(または改行)(ファイル冒頭部では省略可能) [#n4ad6890]

2.指差し: 対応タグ=funnel
-キャラクターに喋らせたいセリフを文章として記述します.

funnel:番号:パネル番号(任意)

対応する番号のコンポーネントに対する指差しウインドウが表示されます.
パネル番号の指定があれば,指定パネル内のコンポーネントを指差します.
パネル番号の指定がなければ0(左端のパネル)が指定されます.
#別途,番号に対応するコンポーネント情報をプログラム中に埋め込んでおく必要があります.
#表示された指差しウインドウは,次のセリフに移動すると自動的に消えます.
**◎2.指差し [#ie419ca8]

3.枠囲み: 対応タグ=square
***funnel:番号:パネル番号(任意) [#f2dd1619]

square:番号:パネル番号(任意)
-対応する番号のコンポーネントに対する指差しウインドウが表示されます.
-パネル番号の指定があれば,指定パネル内のコンポーネントを指差します.
-パネル番号の指定がなければ0(左端のパネル)が指定されます.
--別途,番号に対応するコンポーネント情報をプログラム中に埋め込んでおく必要があります.
--表示された指差しウインドウは,次のセリフに移動すると自動的に消えます.
-''処理ツールのチュートリアルの場合,処理ツールがMiningModuleクラスで用意されている,下記の変数ををオーバーライドして使用した場合にのみ使用可能です.''
--JButton型のbutton[]
--JToggleButton型のtoggleButton[]
---funnelの次の番号は,button[]の要素番号,またはtoggleButton[]の要素番号+button[]の要素数,となります.
---JButtonが3つ,JToggleButtonが4つある場合,0,1,2がbutton[0],[1],[2]に対応して,3,4,5,6がtoggleButton[0],[1],[2],[3]に対応します.

対応する番号のコンポーネントに対する枠囲みウインドウが表示されます.
パネル番号の指定があれば,指定パネル内のコンポーネントを枠囲みします.
パネル番号の指定がなければ0(左端のパネル)が指定されます.
#別途,番号に対応するコンポーネント情報をプログラム中に埋め込んでおく必要があります.
#表示された枠囲みウインドウは,次のセリフに移動すると自動的に消えます.
**◎3.枠囲み [#wa3c84e0]

4.画像表示: 対応タグ=image
***square:番号:パネル番号(任意) [#n34eb586]

image:番号
-対応する番号のコンポーネントに対する枠囲みウインドウが表示されます.
-パネル番号の指定があれば,指定パネル内のコンポーネントを枠囲みします.
-パネル番号の指定がなければ0(左端のパネル)が指定されます.
--別途,番号に対応するコンポーネント情報をプログラム中に埋め込んでおく必要があります.
--表示された枠囲みウインドウは,次のセリフに移動すると自動的に消えます.
-''square:3:パネル番号'',で各パネルに対する枠囲みを表示します.
-''8のsettoolタグの直後だと,枠が表示されません.''

対応する番号の画像が表示されます.
#別途,番号のファイル名をプログラム中に埋め込んでおく必要があります.
**4.画像表示 [#c4790a3e]

5.画像消去: 対応タグ=imagenextout
***image:番号 [#t4ff7f40]

imagenextout:番号
-対応する番号の画像が表示されます.
--別途,番号のファイル名をプログラム中に埋め込んでおく必要があります.

imageタグによって表示されている画像があれば,それを次のセリフの後に消去します.
番号は,右クリックで戻ってきた時に,対応する番号の画像を表示するために使います.
***image:画像ファイル名 [#ja5b7466]
--source/Tutorial/imageフォルダの中に画像ファイルを置くことで,指定する画像を表示することができます.
--javaで表示可能なフォーマットのファイルのみ指定できます.基本はjpg形式,またはpng形式です.

6.操作ミッション: 対応タグ=challenge
**5.画像消去 [#va711812]

challenge:番号:パネル番号(任意)
***imagenextout:番号 [#z2f31a66]

対応する番号の操作がなされるまで,次のセリフに進むことができなくなります.
また,緑色の吹き出しにセリフが表示されます.
操作に対応するコンポーネントが指差し可能(funnelタグでの指定が可能)であれば,指差しを行います.
その際,パネル番号の指定があれば,指定パネル内のコンポーネントを指差します.
パネル番号の指定がなければ0(左端のパネル)が指定されます.
#統合環境内の各ボタン類には,あらかじめ番号が割り当ててありますので,その番号を調べて記述してください.
#処理ツールや可視化ツール内のボタン類には,仕様で指定されている番号をプログラム中に記述した上で,challengeタグの番号として記述してください.
#操作完了後は,それ以前のセリフには戻れなくなります.
-imageタグによって表示されている画像があれば,それを次のセリフの後に消去します.
-番号は,右クリックで戻ってきた時に,対応する番号の画像を表示するために使います.

7.操作ミッション: 対応タグ=settool
**6.音声出力 [#c4790a3e]

settool:処理ツールID:可視化ツールID
***sound:音声ファイル名 [#h174e74a]
--source/Tutorial/soundフォルダの中に音声ファイルを置くことで,指定する音声を出力することができます.
--javaで再生可能なフォーマットのファイルのみ指定できます.基本はwav形式です.

対応するIDのツールがセットされるまで,次のセリフに進むことができなくなります.
また,緑色の吹き出しにセリフが表示されます.
#操作完了後は,それ以前のセリフには戻れなくなります.
**7.操作ミッション [#p3644f59]

8.操作ミッション: 対応タグ= settext
***challenge:番号:パネル番号(任意) [#c745007d]

settext:ファイル名(またはフォルダ名)
-対応する番号の操作がなされるまで,次のセリフに進むことができなくなります.
-また,緑色の吹き出しにセリフが表示されます.
-操作に対応するコンポーネントが指差し可能(funnelタグでの指定が可能)であれば,指差しを行います.
-その際,パネル番号の指定があれば,指定パネル内のコンポーネントを指差します.
-パネル番号の指定がなければ0(左端のパネル)が指定されます.
--統合環境内の各ボタン類には,あらかじめ番号が割り当ててありますので,その番号を調べて記述してください.
--処理ツールや可視化ツール内のボタン類には,仕様で指定されている番号をプログラム中に記述した上で,challengeタグの番号として記述してください.
---処理ツール内のボタンに番号を割り当てる際は,「1+ツールのID(5桁)+ボタンの番号(2桁)」の合計8桁の番号を割り当ててください.
---可視化ツール内のボタンに番号を割り当てる際は,「2+ツールのID(5桁)+ボタンの番号(2桁)」の合計8桁の番号を割り当ててください.
---ex)処理ツールのIDが4,ボタンの番号を2とする場合,「10000402」を割り当てて,actionPerformed内のボタンが押された時の処理の最後に,StoryControl.nextSerif(10000402);と記述してください.
---同時に指差しを行うことはできませんので,必要であれば直前のセリフ時に指差しを行うなどの工夫を行って下さい.

指定する名前のファイル(またはフォルダ)が入力されるまで,次のセリフに進むことができなくなります.
また,緑色の吹き出しにセリフが表示されます.
#操作完了後は,それ以前のセリフには戻れなくなります.
--操作完了後は,それ以前のセリフには戻れなくなります.

9.顔の表情: 対応タグ=face
**8.ツールセットミッション [#p76a23bd]

face:smile
face:sad
***settool:処理ツールID:可視化ツールID [#bdb7aacd]

キャラクターの顔部分に,笑顔,または悲しい顔の画像を重ねて表示します.
#表示された顔画像は,次のセリフに移動すると自動的に消えます.
-対応するIDのツールがセットされるまで,次のセリフに進むことができなくなります.
-また,緑色の吹き出しにセリフが表示されます.
--操作完了後は,それ以前のセリフには戻れなくなります.

10.クイズ: 対応タグ=question
**9.テキスト入力ミッション [#w5c3880f]

question:選択肢1:選択肢2:選択肢3:選択肢4:正解の選択肢の番号
***settext:ファイル名(またはフォルダ名) [#b361a024]

セリフによって出題される問題の,解答となる選択肢(ボタン)を,ウインドウをとして表示します.
正解が選択された場合には,直近にある笑顔(face:smile)のセリフに飛びます.
不正解が選択された場合には,直近にある悲しい顔(face:sad)のセリフに飛びます.
#対応する顔が存在しない場合,直後のセリフに移動します.
また,ピンク色の吹き出しにセリフが表示されます.
#問題に解答した後は,それ以前のセリフには戻れなくなります.
-指定する名前のファイル(またはフォルダ)が入力されるまで,次のセリフに進むことができなくなります.
-また,緑色の吹き出しにセリフが表示されます.
--操作完了後は,それ以前のセリフには戻れなくなります.

11.小節終了: 対応タグ=end
**◎10.顔の表情 [#v6007621]

end:クリア番号(0:NOT CLEAR,1:CLEAR)
***face:smile (または sad) [#z310f587]

この小節を終了します.
#endタグがない場合でも,最後のセリフに到達した場合は,クリアしたとみなされての終了になります.
#クリア番号は,TutorialLogにも記録されます.
-キャラクターの顔部分に,笑顔,または悲しい顔の画像を重ねて表示します.
--表示された顔画像は,次のセリフに移動すると自動的に消えます.

**◎11.クイズ [#b6169926]

***question:選択肢1:選択肢2:選択肢3:選択肢4:正解の選択肢の番号 [#qd27a73c]

-セリフによって出題される問題の,解答となる選択肢(ボタン)を,ウインドウとして表示します.
-正解が選択された場合には,直近にある笑顔(face:smile)のセリフに飛びます.
-不正解が選択された場合には,直近にある悲しい顔(face:sad)のセリフに飛びます.
--対応する顔が存在しない場合,直後のセリフに移動します.
-また,ピンク色の吹き出しにセリフが表示されます.
--問題に解答した後は,それ以前のセリフには戻れなくなります.

**◎12.小節終了 [#z235197f]

***end:クリア番号(0:NOT CLEAR,1:CLEAR) [#jfabe3b2]

-この小節を終了します.
--endタグがない場合でも,最後のセリフに到達した場合は,クリアしたとみなされての終了になります.


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS