最終更新日時: 2010年04月19日 (月) 00時27分31秒

PictureContrib


Pictureコントリビューションとは


Pictureコントリビューションは、他のコントリビューションで利用する画像を定義するものです。
登録した画像は、列車車両コントリビューション(TrainCarContrib)や建物コントリビューションで利用できます。

コントリビューションとして定義された画像は一度しかロードされないので、画像が複数の別なコントリビューションから参照される場合に、メモリを節約することができます。

書式

画像を定義

<contribution type="picture" id="{98D10236-1A52-455B-8D86-7FD3B9B26994}">
  <picture src="bldgVH03.bmp">
    <override when="night" src="bldgVH03_n.bmp" />
  </picture>
</contribution>
idはこのcontributionを一意に識別するのに使われるほか、画像を他のコントリビューションから参照するのにも使われます。

src属性を使って、画像を指定します。plugin.xmlの位置からの相対パスとなります。

画像に夜間オーバーライドを指定する場合は、<override>タグを使ってください。昼間の画像から夜間画像を自動で計算する場合、<override>は必要ありません。
また、季節オーバーライドを指定することもできます。

季節オーバーライド指定の<override>タグの中に、通常の夜間オーバーライドと同じように、
<override>タグをネストさせます。( when="night" としてください。)

昼の画像はオーバーライドせず、夜だけオーバーライドするには、 6行目のように
季節指定の<override>タグには src属性による画像の指定を省略します。

<contribution type="picture" id = "{829AE90A-CB9A-4AB4-B2C1-58C3F981ED7A}">
   <picture src = "test_normal.bmp">
       <override when="summer" src="test_summer.bmp">
           <override when="night" src="test_summer_night.bmp"/>
       </override>
       <override when="winter"><!--※昼用画像は省略-->
           <override when="night" src="test_winter_night.bmp"/>
       </override>
   </picture>
</contribution>


画像を参照


定義された画像を参照するには、次のようにします。
<picture ref="{98D10236-1A52-455B-8D86-7FD3B9B26994}" />
ref属性で、pictureコントリビューションのidを指定します。

画像の局所定義

  • 一回しか参照されない画像なのに、一々ピクチャコントリビューションを使って定義して<picture ref="..."/>で参照するのは面倒です。このような場合、<picture ref="..."/>を書く場所に、そのまま<picture src="..."> ... </picture>という定義を書くことができます。
  • GenericStructureコントリビューションでは局所定義はできませんので、一回しか参照しなくてもpictureコントリビューションで定義の上ref属性で参照してください。
  • 局所的定義された画像は他と共有されないので、同じ画像を複数回局所定義することはメモリの無駄遣いとなります。避けてください。