幻日幻月環

作成した伺かの更新情報などをつぶやくところ

後から全サーフェスに一括追加する

この記事は伺か Advent Calendar 2015の3日目に投稿したものです。

アニメーションや着せ替えなどを一括追加する。
例えば着せ替えを追加したい場合などに、たくさんサーフェス作ったし面倒だ、となるかもしれません。
しかしsurface.appendという記述を使えば、存在するサーフェスにだけ一括でアニメーションなどを追加することが可能です。

アニメーションを全サーフェスに追加する
サンプルとして、整備班で再配布している漫符、「まんぷー」を使って、アニメーションを一括追加してみましょう。
とりあえず、驚きの表現を出してみます。

以下は、まんぷーのmanual.txtを新定義で書きなおしたものです。
旧定義のままでも動きますが、場合によって警告メッセージが出たりもします。

surface.append0-1000
{
animation2000.interval,never
animation2000.pattern0,overlay,1100,80,40,50
animation2000.pattern1,overlay,1101,80,40,50
animation2000.pattern2,overlay,1100,80,40,50
animation2000.pattern3,overlay,1101,80,40,50
animation2000.pattern4,overlay,1100,80,40,50
animation2000.pattern5,overlay,1101,80,40,50
animation2000.pattern6,overlay,1100,80,40,50
animation2000.pattern7,overlay,-1,80
}

これを、shell/masterのsurfaces.txtの最後尾に追加してください。
その状態で、トーク内部で「\i[2000]」(全て半角)とゴーストにトークさせると、ビックリマークのアニメーションが表示されます。
0-1000までの、既存のサーフェス全てに一括で追加しているので、どのサーフェスであってもちゃんとアニメーションを表示してくれます。
後ろの40,50は表示位置です。ゴーストに合わせて調整してください。
sampleexclamation
キモとなるのは、先頭の部分です。
通常はsurface0-9などと記述するサーフェス設定の部分に、.appendという文字が入っています。
.appendがあると、前の行までに存在するサーフェスにのみ、追加することが出来ます。
つまり、サーフェス0やサーフェス10には追加されますが、おそらく設定していないサーフェス777などには追加されません。
.appendがないと、サーフェス777などは、アニメーションだけがあるおかしな状態になってしまいます。
しかし.appendは、今まで作られていないサーフェスは無視してくれるため、色々と楽です。
アニメーション以外にも、触り判定や着せ替えも一括で追加出来ます。
ポーズが同じであるなら、着せ替えパーツを後から追加する場合などに使えます。

注意
ただ、着せ替えの場合、着せ替えパーツに着せ替えが設定される(多重着せ替え)と、予期しない動作になってしまったりするため、できれば着せ替え用のアニメーションやpngファイルは、大きな番号を付けておきましょう。
今回の例であれば、アニメーション用のびっくりマークはsurface1100.pngのため、「1000までを通常サーフェス」とするという前提で書いています。

おまけ
新旧の対応は以下の画像のようになっています。それぞれ同じ色の部分は同じ意味です。
samplesurfaceappend
ウェイト(旧定義「8」新定義「80」の部分)だけ、旧定義は1/100秒単位、新定義は1/1000秒単位と違うので注意してください。
PageTop

コメント


管理者にだけ表示を許可する