Sprite Studioには、Asset Storeから無料でダウンロードできるプラグインがあるわけですが、
ユーザーデータにちょっと仕込みを入れた時、数値が常に0になるバグがあったので、その修正方法を紹介します(誰得?な気もしますが)
- 追記
Ver.1.24にて修正されています。
まず、数値を格納している変数Numがuintになっていますが、どうやらuintはシリアライズできないらしく、Inspectorにも項目が出ていませんでした。
なので、まずはuintをintに変えます。(そもそもSpriteStudio上でも負値を入れることが出来たので、intが正解なはず)
public class SsUserDataKeyValue : SsAttrValueInterface { public bool IsNum; public int Num; // ココ
それに伴って、SsaxImporterのNumを読み込んでいるところも変更します。
case SsKeyValueType.User: { var userKey = new SsUserDataKeyFrame(); keyBase = userKey; var v = new SsUserDataKeyValue(); XmlNode numberNode = _SelectSingleNode(key, "./cur:Number"); if (numberNode != null) { v.IsNum = true; v.Num = _ToInt(numberNode.InnerText); // ココ }
もともとのValueがなんなのかよくわかりませんが、他のRectとかを見るにタグに囲まれたテキストならInnerTextが正しいようです。
これでバグも解消できたので、SEだろうとエフェクトだろうとスプライトのユーザーデータにいろいろ仕込めるぜ!
Unityのアセット販売中!
ステートマシンの状態遷移やパラメータはエディタで編集でき、
ゲームロジックに依存するステートの挙動はスクリプトで記述可能なエディタ拡張。
RPGツクールVXやWOLF RPGエディターのオートタイルに準拠したエディタ拡張。