#はじめに
ティラノスクリプトで、chara_newタグとchara_faceタグによるキャラクターの情報登録作業が、同じようなタグの記述で面倒に感じたのでそれを一括登録するプラグインを作りました。
表情差分パーツキャラクターの登録も出来ます。
#導入方法
解凍して出てきた character_manager フォルダを、
data/others/plugin/ 下にコピーしてください。
その後、first.ks に以下のタグを記述してください。
[plugin name="character_manager"]
#追加されるタグとパラメーター
##[character_manager]
- src
- 【必須】読み込むjsonファイルを指定してください。jsonファイルは others フォルダ以下に配置してください。
- type
- 普通のキャラクターを登録する場合は
normal
、表情差分パーツキャラクターを登録する場合はparts
を指定してください。 - デフォルトは normal
- 普通のキャラクターを登録する場合は
- var
- 上級者向けのパラメーターです。このプラグインではクラス構文を使用しており、インスタンスする際のティラノ変数を独自で指定することが出来ます。
- デフォルトは
sf.character_manager
- time
- jsonファイルを読み込む時間をミリ秒で指定します。秒数が短すぎると、jsonファイルが読み込まれない場合があるのでご注意ください。
- デフォルトは 10 [ミリ秒]
#使い方
##jsonファイルの用意
このプラグインではjsonファイルを使用します。
プラグインのフォルダ内にサンプルファイルがあるので、実際に使用する際はその書式と則って記述してください。
jsonファイルを直打ちするのは少し面倒なので、jsonファイルエディタの使用を推奨します。
###_NORMAL.json
{
"akane": {
"param": {
"jname": "アカネ",
"storage": "chara/akane/normal.png",
"width": "none",
"height": "none",
"reflect": false,
"color": "none"
},
"face": {
"happy": "chara/akane/happy.png",
"sad": "chara/akane/sad.png"
}
},
"yamato": {
"param": {
"jname": "ヤマト",
"storage": "chara/yamato/normal.png",
"width": "none",
"height": "none",
"reflect": false,
"color": "none"
},
"face": {
"happy": "chara/yamato/happy.png",
"sad": "chara/yamato/sad.png"
}
}
}
_NORMAL.jsonファイルは、普通にキャラクター登録をする際に使用するjsonファイルのサンプルファイルです。
各キー・値の説明は以下の通りです。
{
"[chara_new]のname": {
param: {
"jname": "[chara_new]のjname",
"storage": "[chara_new]のstorage",
"width": "[chara_new]のwidth",
"height": "[chara_new]のheight",
"reflect": "[chara_new]のreflect",
"color": "[chara_new]のcolor"
},
face: {
"[chara_face]のface": "[chara_face]のstorage"
}
}
}
###_PARTS.json
_NORMAL.jsonファイルは、表情差分パーツキャラクターを登録する際に使用するjsonファイルのサンプルファイルです。
このファイルでは、fgimage/partsフォルダ以下の差分パーツを置いているものとしています。
- back_hair.png
- body_back.png
- body_front.png
- head.png
- face_back.png
- face_front.png
- eye.png
- hair_front.png
{
"test": {
"param": {
"jname": "Test",
"storage": "color/empty.png",
"width": 600,
"height": 800,
"reflect": "none",
"color": "none"
},
"hair_back": {
"zindex": 0,
"face": {
"default": "parts/hair_back.png"
}
},
"body_back": {
"zindex": 1,
"face": {
"default": "parts/body_back.png"
}
},
"body_front": {
"zindex": 2,
"face": {
"default": "parts/body_front.png"
}
},
"head": {
"zindex": 3,
"face": {
"default": "parts/head.png"
}
},
"face_back": {
"zindex": 4,
"face": {
"default": "parts/face_back.png"
}
},
"face_front": {
"zindex": 5,
"face": {
"default": "parts/face_front.png"
}
},
"eye": {
"zindex": 6,
"face": {
"default": "parts/eye_normal.png",
"close": "parts/eye_close.png"
}
},
"hair_front": {
"zindex": 7,
"face": {
"default": "parts/hair_front.png"
}
}
}
}
各キー・値の説明は以下の通りです。
{
"[chara_new]のname": {
"param": {
"jname": "[chara_new]のjname",
"storage": "[chara_new]のstorage",
"width": "[chara_new]のwidth",
"height": "[chara_new]のheight",
"reflect": "[chara_new]のreflect",
"color": "[chara_new]のcolor"
},
"[chara_layer]のpart": {
"zindex": "[chara_layer]のzindex",
"face": {
"[chara_layer]のid": "[chara_layer]のstorage"
}
}
}
}
値を空欄にしたい場合は "none"
を記述してください。
##タグを記述
実際に使用する際は _SAMPLE.ks のコードのように使用出来ます。
[plugin name="character_manager"]
[character_manager type="normal" src="plugin/character_manager/_NORMAL.json"]
[character_manager type="parts" src="plugin/character_manager/_PARTS.json"]
[layopt layer="0" visible="true"]
[chara_show name="akane"]
[chara_show name="yamato"]
[l]
[chara_mod name="akane" face="sad" wait="false"]
[chara_mod name="yamato" face="sad"]
[l]
[chara_hide_all wait="true"]
[chara_show name="test"]
[l]
[chara_part name="test" eye="close" time="500"]
[s]
_SAMPLE.ksのプレビューの様子の動画があるので、よろしければどうぞ。