処理ツール用チュートリアルの作成方法 †
- ファイル:[ツール名Tutorial.txt]を、ツールのフォルダ内におくだけで、キャラクターがツールの使い方を説明してくれる、キャラクターアシストチュートリアルを作成できます。
- ex) ツール名がAbcde(ソースファイルがAbcde.java)のとき、AbcdeTutorial.txt ファイルを作成します。
- 以下の記述は、ツールの説明以外のチュートリアルと共通のフォーマットとなっているため、ツールの説明用には用いられないものもあります。
- チュートリアルの開始時には、ツールの「セット」ボタンを押したときのパネル構成に、自動的にセットされます。
- チュートリアルの開始時には、text/urashima.txtファイル(浦島太郎のテキスト)が、自動的に読み込まれます。
チュートリアルファイルの基本フォーマット †
- 1行から3行の説明をひとかたまりのセリフとします。
- 1行は30文字以内で記述してください。
- セリフとセリフの区切りには、空行(または後述のタグ)を入れてください。
- セリフの区切り以外に、空行は入れないでください。
- 具体的な記述例は、既存のツールのファイルを参照してください。
セリフの種類とフォーマット †
- 以下の12種類のタグとセリフの組み合わせでファイルを記述します。
- 以下のタグは、1つのセリフに対して併用できません。
- 最後のendタグ以外は、すべてセリフとなる文章とセットで使用する必要があります。
◎1.セリフ †
normal(または改行)(ファイル冒頭部では省略可能) †
- キャラクターに喋らせたいセリフを文章として記述します.
◎2.指差し †
funnel:番号:パネル番号(任意) †
- 対応する番号のコンポーネントに対する指差しウインドウが表示されます.
- パネル番号の指定があれば,指定パネル内のコンポーネントを指差します.
- パネル番号の指定がなければ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]に対応します.
◎3.枠囲み †
square:番号:パネル番号(任意) †
- 対応する番号のコンポーネントに対する枠囲みウインドウが表示されます.
- パネル番号の指定があれば,指定パネル内のコンポーネントを枠囲みします.
- パネル番号の指定がなければ0(左端のパネル)が指定されます.
- 別途,番号に対応するコンポーネント情報をプログラム中に埋め込んでおく必要があります.
- 表示された枠囲みウインドウは,次のセリフに移動すると自動的に消えます.
- square:3:パネル番号,で各パネルに対する枠囲みを表示します.
- 8のsettoolタグの直後だと,枠が表示されません.
4.画像表示 †
image:番号 †
- 対応する番号の画像が表示されます.
- 別途,番号のファイル名をプログラム中に埋め込んでおく必要があります.
image:画像ファイル名 †
- source/Tutorial/imageフォルダの中に画像ファイルを置くことで,指定する画像を表示することができます.
- javaで表示可能なフォーマットのファイルのみ指定できます.基本はjpg形式,またはpng形式です.
5.画像消去 †
imagenextout:番号 †
- imageタグによって表示されている画像があれば,それを次のセリフの後に消去します.
- 番号は,右クリックで戻ってきた時に,対応する番号の画像を表示するために使います.
6.音声出力 †
sound:音声ファイル名 †
- source/Tutorial/soundフォルダの中に音声ファイルを置くことで,指定する音声を出力することができます.
- javaで再生可能なフォーマットのファイルのみ指定できます.基本はwav形式です.
7.操作ミッション †
challenge:番号:パネル番号(任意) †
- 対応する番号の操作がなされるまで,次のセリフに進むことができなくなります.
- また,緑色の吹き出しにセリフが表示されます.
- 操作に対応するコンポーネントが指差し可能(funnelタグでの指定が可能)であれば,指差しを行います.
- その際,パネル番号の指定があれば,指定パネル内のコンポーネントを指差します.
- パネル番号の指定がなければ0(左端のパネル)が指定されます.
- 統合環境内の各ボタン類には,あらかじめ番号が割り当ててありますので,その番号を調べて記述してください.
- 処理ツールや可視化ツール内のボタン類には,仕様で指定されている番号をプログラム中に記述した上で,challengeタグの番号として記述してください.
- 処理ツール内のボタンに番号を割り当てる際は,「1+ツールのID(5桁)+ボタンの番号(2桁)」の合計8桁の番号を割り当ててください.
- 可視化ツール内のボタンに番号を割り当てる際は,「2+ツールのID(5桁)+ボタンの番号(2桁)」の合計8桁の番号を割り当ててください.
- ex)処理ツールのIDが4,ボタンの番号を2とする場合,「10000402」を割り当てて,actionPerformed内のボタンが押された時の処理の最後に,StoryControl.nextSerif(10000402);と記述してください.
- 同時に指差しを行うことはできませんので,必要であれば直前のセリフ時に指差しを行うなどの工夫を行って下さい.
- 操作完了後は,それ以前のセリフには戻れなくなります.
8.ツールセットミッション †
settool:処理ツールID:可視化ツールID †
- 対応するIDのツールがセットされるまで,次のセリフに進むことができなくなります.
- また,緑色の吹き出しにセリフが表示されます.
- 操作完了後は,それ以前のセリフには戻れなくなります.
9.テキスト入力ミッション †
settext:ファイル名(またはフォルダ名) †
- 指定する名前のファイル(またはフォルダ)が入力されるまで,次のセリフに進むことができなくなります.
- また,緑色の吹き出しにセリフが表示されます.
- 操作完了後は,それ以前のセリフには戻れなくなります.
◎10.顔の表情 †
face:smile (または sad) †
- キャラクターの顔部分に,笑顔,または悲しい顔の画像を重ねて表示します.
- 表示された顔画像は,次のセリフに移動すると自動的に消えます.
◎11.クイズ †
question:選択肢1:選択肢2:選択肢3:選択肢4:正解の選択肢の番号 †
- セリフによって出題される問題の,解答となる選択肢(ボタン)を,ウインドウとして表示します.
- 正解が選択された場合には,直近にある笑顔(face:smile)のセリフに飛びます.
- 不正解が選択された場合には,直近にある悲しい顔(face:sad)のセリフに飛びます.
- 対応する顔が存在しない場合,直後のセリフに移動します.
- また,ピンク色の吹き出しにセリフが表示されます.
- 問題に解答した後は,それ以前のセリフには戻れなくなります.
◎12.小節終了 †
end:クリア番号(0:NOT CLEAR,1:CLEAR) †
- この小節を終了します.
- endタグがない場合でも,最後のセリフに到達した場合は,クリアしたとみなされての終了になります.
|