カスタムスキン作成(備忘録)

フットボールマネージャーのカスタムスキンを一日かけて作ってみたので、備忘録的なメモを残しておきます。

  • 基本的には…

コピーアンドペーストで作ります。そのため、事前に自分が乗せたいパーツを持っているスキンをダウンロードしておきます。またリソースアチーブツールを用いてfmfファイルを解凍し、デフォルトのファイルを手に入れておきます。

  • 新しいパネルを作りたいときは…
  1. 載せたいパーツがある既存のパネルを見つけます。
  2. そのパネルに対応するファイルがどこかにあると思いますので、それを見つけます。
  3. そのファイル呼んでいるコードをコピーします。
  4. パネルと対応するファイルをコピーします。
  5. コピーしたファイルの中身を変更します(ファイル内のいらないパーツに対応するコードを消します)。このときファイルの中身のコードをコピーしようとしないほうがよいです(理由はわからりませんが、ゲームの中の情報を取ってこれなくなったりするからです)。この際コピーしたパネルが他の場所で使われている場合、そのファイルを変えれば、他の場所のパネルも変わってしまうので、少し名前を変えて再利用します。

例えば、

<widget class="player_stats_panel" file="player/player stats small"/>

みたいなことが書いてある場合は、

<widget class="player_stats_panel" file="player/player stats small2"/>

とfile属性を変えます。その後player stats smallファイルをコピーし、player stats small2に名前を変えます。そしてそのファイル内を編集するとうまくいくようです。

  • レイアウトを変えるには…

以下の4つのレイアウトを使います。

<layout class="arrange_horizontal_attachment">

<layout class="arrange_verticlal_attachment">

<layout class="grid_layout_attachment">

<layout class="stick_to_side_attachment">

上の2つは同じコンテナに入っている要素を横(縦)に並べます。次のgridは名前の通り、グリッド上に同じコンテナに入っている要素を並べます。最後は要素をサイドに貼り付けます。verticalを属性値にすると左右一杯に広がって、topを属性値にすると上に張り付きます。allにすると、上下左右一杯に広がります。他にもfillという要素があるようですが、よくわかりません。

他にも以下のコンテナを使う手があります。

<container class="vertical_adapter_container">

<container class="horizontal_adapter_container">

上のコンテナが、レイアウトのarrange_horizontal_attachmentと異なるのは、小さくなりすぎた要素を表示しないようにできます。この際に最小値を指示するにはminimum_width等を使います。

  • パネルを並ばせたいときは

以下のコードを使います。

<layout class="arrange_horizontal_attachment" layout="750,-1" offset="0" gap="1"/>
<layout class="stick_to_sides_attachment" alignment="vertical" layout="50,-1" apply_to_children="true" inset="0" />

このコードでは横並びに二つのパネルを置きます(左が750pxで右は残りの空間を埋めます)。また以下のコードでもよいです。

<layout class="grid_layout_attachment" row_layout="-1,-1" vertical_gap="5" vertical_offset="0" mode="auto">
<list id="column_layout">
<record>
<string id="column_layout" value="-1" />
<integer id="horizontal_offset" value="0" />
<integer id="horizontal_gap" value="1" />
</record>
<record>
<string id="column_layout" value="-1" />
<integer id="horizontal_offset" value="0" />
<integer id="horizontal_gap" value="1" />
</record>
</list>
</layout>

こちらは2行2列でパネルを並べます。もちろん1行3列などにもできます。何に違いがあるのかはよくわかりません。他にもvertical_adapter_containerを使うこともできます。

  • ゲーム内の情報が出てこない場合は…

キャッシュを削除してみてください。

また、プレイヤー->情報の中にtableというウィジェットがありますが、これは右のtableのみを表示する場合でも左のtableも残しておく必要があるようです。

0

コメント