追加案: 起動アニメーション中のロゴ位置をスキンで指定できるようにする

Issue #323 resolved
k4nagatsuki repo owner created an issue

タイトル画面は一つのエリアとしてスキンのResource/Xml/Title/*.xml(ID:1)の情報によって表示されていますが、起動アニメーション中に表示されるロゴの位置は、現在、thread.py内にハードコーディングされています。

この仕様には問題があります。例えばタイトルロゴを左上に表示するようなタイトル画面を作ると、起動アニメーション中のロゴの位置と齟齬が出て、表示が不自然になります。

なんらかの形で起動アニメーション中のロゴの位置をスキン側で指定できるようにする必要があります。

Comments (3)

  1. k4nagatsuki reporter

    以下のようなXMLデータによってオープニングアニメーションを定義する事を考えています。これを実装すれば、ロゴの位置をタイトル画面に合わせる事ができるだけでなく、スキンごとにオープニングを定義する事もできます。

    <?xml version="1.0" encoding="UTF-8"?>
    <Animations parallel="True">
      <Animation>
        <!-- カードBの回転 -->
        <ImagePath>Resource/Image/Other/TITLE_CARD2.bmp</ImagePath>
        <Mask>True</Mask>
        <Location left="Center" top="120" />
        <Size width="Original" height="Original" />
        <Type frame="40">Rotate</Type>
        <Wait before="0" after="40" />
        <Repeat>6</Repeat>
        <Duration>510</Duration>
      </Animation>
      <Animation>
        <!-- カードAの回転 -->
        <ImagePath>Resource/Image/Other/TITLE_CARD1.bmp</ImagePath>
        <Mask>True</Mask>
        <Location left="Center" top="120" />
        <Size width="Original" height="Original" />
        <Type frame="40">Rotate</Type>
        <Wait before="40" after="0" />
        <Repeat>5</Repeat>
        <Duration>510</Duration>
      </Animation>
      <Animation>
        <!-- presents表示1 -->
        <ImagePath>Resource/Image/Other/TITLE_CELL1.bmp</ImagePath>
        <Mask>True</Mask>
        <Location left="Center" top="195" />
        <Size width="Original" height="Original" />
        <Type frame="20">FadeIn</Type>
        <Wait before="80" after="0" />
        <Repeat>1</Repeat>
        <Duration>140</Duration>
      </Animation>
      <Animation>
        <!-- presents表示2 -->
        <ImagePath>Resource/Image/Other/TITLE_CELL2.bmp</ImagePath>
        <Mask>True</Mask>
        <Location left="Center" top="195" />
        <Size width="Original" height="Original" />
        <Type frame="0">Spawn</Type>
        <Wait before="140" after="0" />
        <Repeat>1</Repeat>
        <Duration>220</Duration>
      </Animation>
      <Animation>
        <!-- presents表示を消す -->
        <ImagePath>Resource/Image/Other/TITLE_CELL2.bmp</ImagePath>
        <Mask>True</Mask>
        <Location left="Center" top="195" />
        <Size width="Original" height="Original" />
        <Type frame="0">FadeOut</Type>
        <Wait before="220" after="0" />
        <Repeat>1</Repeat>
        <Duration>240</Duration>
      </Animation>
      <Animation>
        <!-- タイトルロゴのシルエット -->
        <ImagePath>Resource/Image/Other/TITLE_CELL3.bmp</ImagePath>
        <Mask>True</Mask>
        <Location left="Center" top="Center" />
        <Size width="Original" height="Original" />
        <Type frame="0">FadeIn</Type>
        <Wait before="340" after="0" />
        <Repeat>1</Repeat>
        <Duration>510</Duration>
      </Animation>
      <Animation>
        <!-- 最後のホワイトアウト -->
        <Fill r="255" g="255" b="255" />
        <Mask>False</Mask>
        <Location left="0" top="0" />
        <Size width="Max" height="Max" />
        <Type frame="0">FadeIn</Type>
        <Wait before="420" after="0" />
        <Repeat>1</Repeat>
        <Duration>510</Duration>
      </Animation>
    </Animations>
    
  2. k4nagatsuki reporter

    pull request #1388

    実際のアニメーション定義はData/SkinBase/Resource/Xml/Animation/Opening.xmlにあり、データバージョン9のスキンには自動的にコピーされます(データバージョンは10になります)。

    上記のものとは少し文法を変えていますが、意味が分かるようにコメントを入れておきました。

  3. Log in to comment