宴とジョーカースクリプトの比較


# 宴とジョーカースクリプトの比較

宴は現在ver3がリリースされており、かなり多機能で使いやすい状態になっています。ソーシャルゲームなどによく見受けられるアドベンチャーパートを作成したい場合は、宴がお勧めです。しかし、学生から見たら価格は少しお高め。個人ゲーム制作または、そこまでの機能を必要としていない場合には無料のジョーカースクリプトをお勧めします。

## セットアップや基本操作

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|フォルダ構成|Project内にBg,Character,Event(イベントCG)のフォルダがある。素材は専用フォルダへ入れる。|Project内にbackground,character,imageのフォルダがある。素材は専用フォルダへ入れる。シナリオは"tall"と"wide"に分かれていて、それぞれ縦持ち横持ちで使い分ける。|
|シナリオ拡張子|.tsvという拡張子で格納される。|シナリオフォルダ内に.txtファイルとして格納される。|
|プレビュー方法|START.tsv編集後に保存からのUnity再生。|txt編集後に保存からのUnity再生。

## 基本の書き方

|項目|宴|ジョーカースクリプト|
|--------|------|-------|
|コメント|START.tsvのCommandに // を記入すると、その行のデータをコメントとして扱う。|";"以下がコメントとなる。|
|クリック待ち|START.tsvのCommandに WaitInput 、Arg6に待機時間を任意で記入。またはSTART.tsvのPageCtrlに Inputと記入。|[i]|
|改行|START.tsvのPageCtrlに InputBrと記入。|[r]|
|改ページ|START.tsvのPageCtrlに InputBrPageと記入。|[p]|
|処理の一時停止|START.tsvのCommandに WaitInput 、Arg6に待機秒数。|[wati time=数値(秒単位)]|
|テキスト|"Text"列に行を追加するなどして書き込んでいく。|#タグの後に文章を書くとテキストとして認識される。|
|テキスト色|テキストをcolorタグで囲む。|テキストをcolorタグで囲む。|
|ジャンプ|START.tsvのジャンプ先のCommandに *ジャンプラベル名 を書き、ジャンプを行う箇所のCommandに Jump ,Arg1に ジャンプラベル名 を記入。|ジャンプ先のテキストの前に *ジャンプラベル名 を書き、任意の場所で[jump target="ジャンプラベル名"]タグを記入。|
|別ファイルへジャンプ|スクリプト上から可能っぽい|[jump file="ファイルパス" target=*ジャンプラベル名]

## 背景設定

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|背景宣言|Texture.tsvに*Label,*Type,Scale,*FileName(パス),などを入力。|[bg_new storage=texture名]
|背景指定|START.tsvのCommandに Type 、Arg1にラベルの記入。|[bg_show]|
|背景移動|別の背景を指定した段階で自動的にフェードアウトして切り替わる。|[bg_mod storage=texture名]|
|背景移動の演出||Arg6に切り替えにかかる時間を記述。|[bg_mod storage=texture名 time=数値]で数値に対応した速度で切り替わる。|
|背景表示|背景指定参照|[bg_show]|
|背景非表示|START.tsvのCommandに BgOff |[bg_hide]|

## イベントCG設定

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|イベントCG表示|Texture.tsvにてTypeが Event のtextureを登録しておき、START.tsvのCommandに BgEvent 、Arg1にラベルを記入。|[bg_show]|
|イベントCG非表示|START.tsvのCommandに BgEventOff |[bg_hide]|

## キャラクター設定

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|キャラクター宣言|Character.tsvに*CharacterName,Pattern,Pivot,*FileNameなどを入力。|[chara_new name=ラベル名 storage=テクスチャ名]|
|キャラクター表示|START.tsvのArg1にキャララベル名、Arg2にPatternを記入。|[show name=ラベル名 (必要なら)scale="数値" x=数値 y=数値 time=数値]|
|複数キャラクター表示|複数行でキャラクター表示記入を行い、START.tsvのArg3にそれぞれの表示レイヤー名を記入。|[chara_new name="キャララベル名" storage="テクスチャ名" (以下被らないように調整用)y=数値 x=数値]|
|会話ダイアログの名前表示|Character.tsvに登録したNameTextが表示される。|[chara_new name=ラベル名 storage=テクスチャ名 jname=表示名 (必要なら)jcolor="#000000"] を入力した後に会話テキストの前に #ラベル名(または表示名そのまま) を記入。|
|表情切り替え|START.tsvのArg1にキャララベル名、Arg2にCharacter.tsvで設定したパターン名を記入。|[chara_face name=キャララベル名 face="表情ラベル名" storage="texture名"] を入力した後に表情切り替えを行う箇所に [chara_mod name="キャララベル名" face="表情ラベル名"] を記入。ちなみに"default"で [chara_new] の時に指定したtextureに戻る。|

## アニメーション

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|イメージのアニメーション|START.tsvのCommandに Tween 、Arg1にアニメーション対象のスプライトラベル名 、Arg2に TweenType(どのようなアニメーションを行うか)、Arg3にTweenTypeで使用するプロパティの設定を記入。TweenTypeのtypeについては[こちら](http://www.robertpenner.com/easing/easing_demo.html)を参考。|対象のスプライトをnewした後に、[anim name="ラベル名" time=数値 x=数値 y=数値 (必要なら)wait=falseなど] timeでアニメーションにかける時間や、x,yでアニメーション先の指定、waitでアニメーションの完了を待つかどうかなどを設定できる。|
|シェイク|START.tsvのCommandに Shak 、Arg1にアニメーション対象(カメラ、メッセージウィンドウ、スプライト等)のラベル名 、Arg3に使用するプロパティ(time,delay,x,y,z)の設定を記入。|なし。iTweenを使用してカスタムタグを作成すればいけそう。|
|エフェクト再生|宴3から対応。Particle.tsvに*Label,*FileNameなどを記入。START.tsvのCommandに Particle　、Arg1にパーティクルラベル名、Arg3に表示レイヤー名、Arg4にX座標、Arg5にY座標。|ないっぽい？|

## メッセージウィンドウ設定

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|メッセージウィンドウ表示|START.tsvのCommandに ShowMessageWindow|[showmessage]|
|メッセージウィンドウ非表示|START.tsvのCommandに HideMessageWindow|[hidemessage]|

## レイヤー設定

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|レイヤー宣言|Layer.tsvに*LayerName,Type,X,Y,Orderなどを入力。|newなどの宣言時に layerオプションを追加。|

## サウンド再生

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|BGM再生|Sound.tsvに*Label,*Type,*FileNameなどを記入。START.tsvのCommandに Bgm 、Arg1にラベル名を記入。|[playbgm storage=曲名 (必要なら)loop=false]|
|BGM停止|START.tsvのCommandにStopBgm|[stopbgm]|
|フェードイン|START.tsvのArg5に数値を記入。数値の大きさでどの程度時間をかけて徐々に再生していくか決める。|[playbgm time="数値(秒)" storage=曲名.mp3] 数値の大きさでどの程度時間をかけて徐々に再生していくか決める。|
|フェードアウト|START.tsvのArg6に数値を記入。数値の大きさでどの程度時間をかけて徐々に停止していくか決める。|[stopbgm time=数値] 数値の大きさでどの程度時間をかけて徐々に停止していくか決める。|
|ボイス再生|START.tsvのVoice列にボイスファイル名を記入。|[playse storage="ボイス名.mp3"]|
|効果音再生|Sound.tsvに*Label,*Type,*FileNameなどを記入。START.tsvのCommandに Se 、Arg1にラベル名を記入。|[playse storage="SE名.mp3"]|
|効果音停止|START.tsvのCommandにStopSe|[stopse]|


## 条件分岐

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|選択肢表示|START.tsvのCommandに Selection ,Arg1に *ジャンプラベル名,Textに選択肢テキストを記入。|[select_new text="選択肢テキスト" target=*ジャンプラベル名 ]を入力した後に [select_show]で選択肢を表示。[s]でゲーム進行をストップさせて選択肢を選ばないとゲームが進まないようにする。|
|選択肢後分岐|任意の行にあるCommandに *(targetに指定した)ジャンプラベル名 を記入。|任意の位置で *(targetに指定した)ジャンプラベル名 を記入。選択肢特有の演出後は共通箇所へ戻す用の[jump]タグが必要。|

## その他

|項目|宴|ジョーカースクリプト|
|-----|------|-------|
|ゲームの一時停止||[sleepgame]|
|トランジションをかけたフェードイン・アウト|宴3から可能。START.tsvのCommandに RuleFadeIn、Arg1にラベル名、Arg2にルール画像名などを記入。|なし。|

- ジョーカースクリプトにて、@で始まる行はタグとして認識される。(ただし1行で完結)