スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
公開: --年--月--日, カテゴリ: スポンサー広告

バッテリーアイコンを変更してみよう

バッテリーアイコン変更例今回はバッテリーアイコンの変更について記事にまとめてみます。バッテリーは仕組みが単純なので、画像を変更するだけなら簡単にできます。なお、今回はRCOファイルの編集ツールについては全てRcomageを使っています。画像差替えだけならRCO Editorを使った方が速いですが、よそのブログ等で解説されていますのでここでは省いています。RCO Editorを使う方法については記事最後に外部リンクしておきますのでそちらも参考にどうぞ。

更新: 2011-02-03

用意するもの

tex_batteryの例

Rcomage
使い方については Rcomage v1.1.0 を参照のこと。なお、この記事ではv1.1.1を使っています。
system_plugin_fg.rcoファイル
Resurssiklunssiで変換しておくこと。また、system_plugin_fg.rcoについて知りたい場合は RCOファイルの構造(3) system_plugin_fg.rco (藍色通信)を参照のこと。
バッテリーアイコン画像
ファイル名をtex_battery.pngにしておいて下さい。
バッテリーアイコン画像についての注意点
バッテリーアイコンは残量に応じて4段階に表示が切り替わります。画像のように4等分できる大きさで素材を用意しましょう。

変更の手順

  1. Dump(RCOファイルの分解)を行ないます。system_plugin_fg.rcoファイルをDumpします。Dump設定は変更せずそのままにしておきます。Dump後のフォルダ構成は以下のようになります。
    Battery/  * フォルダ名称は任意
     ├ system_plugin_fg.xml
     └ Images/
        └ 拡張子.pngの画像ファイルいろいろ
  2. Imagesフォルダ内へtex_battery.pngをコピーします。Imagesフォルダ内には既に"tex_battery.png"があるので上書きになります。
  3. Compile(RCOファイルの生成)を行ないます。XMLファイルからsystem_plugin_fg.rcoファイルをCompileします。設定は特に変更しなくても構いません。

以上です。後はCTFに組込むなりflash内へ上書きするなりご自由にどうぞ。

もっと変更してみる(中級者向け)

Rcomageを利用して画像やテキストを追加したりアニメーションを追加すると多彩な表現が可能になります。ここではそのためのXMLファイル編集のポイントをサンプルを例として何点かまとめておきます。

サンプル

ObjectTree要素内の編集

新たに追加したイメージ・テキストなどを有効にしたいときは、Pageオブジェクト"page_indicator"内にあるPlane要素の"battery_shadow"か"battery"の子要素として追加していきます。以下にデフォルトの記述し示します。

<!-- デフォルトの記述 -->
<Plane name="battery_shadow" posX="225" posY="122" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="44" height="16" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="nothing" image="image:tex_battery_shadow" unknownInt18="0x0"></Plane>
<Plane name="battery" posX="223" posY="124" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="44" height="16" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="nothing" image="image:tex_battery" unknownInt18="0x0"></Plane>

以下に変更例の記述を示します。

<!-- 変更例 -->
<Plane name="battery_shadow" posX="0" posY="-125" objectScale="0" redScale="0" greenScale="0" blueScale="0" alphaScale=".4" width="480" height="24" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="anim:HideObject" image="nothing" unknownInt18="0x0">
    <!-- added elements x9 -->
    <Plane name="FieldBlue" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale=".7" width="480" height="24" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="anim:GlowField" image="image:img_field_blue" unknownInt18="0x30000"/>
    <Plane name="FieldRed" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale=".7" width="480" height="24" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="nothing" image="image:img_field_red" unknownInt18="0x30000"/>
    <Text name="TextSource" posX="-235" posY="0" objectScale="0" redScale=".4" greenScale=".4" blueScale=".4" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_source" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="7.02" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextBattery" posX="-160" posY="0" objectScale="0" redScale=".118" greenScale=".314" blueScale=".635" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_battery" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextExternal" posX="-160" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="0" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_external" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextStatus" posX="-50" posY="0" objectScale="0" redScale=".4" greenScale=".4" blueScale=".5" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_status" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="7.02" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextUse" posX="25" posY="0" objectScale="0" redScale=".118" greenScale=".314" blueScale=".635" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_use" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextCharge" posX="25" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="0" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_charge" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextComplete" posX="25" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="0" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_complete" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
</Plane>
<Plane name="battery" posX="240" posY="-125" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="96" height="26" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:tex_battery" unknownInt18="0x0">
    <!-- added elements x4 -->
    <Plane name="BatMage1" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery1" unknownInt18="0xffff"/>
    <Plane name="BatMage2" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery2" unknownInt18="0xffff"/>
    <Plane name="BatMage3" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery3" unknownInt18="0xffff"/>
    <Plane name="BatMage4" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery4" unknownInt18="0xffff"/>
</Plane>

以下にダメな例を示します。これはよくある間違いの一つです。追加した要素が入れ子になっていないため、これだとバッテリーが表示されないところでも表示されてしまいます。

<!-- 記述間違いの例 -->
<Plane name="battery_shadow" posX="0" posY="-125" objectScale="0" redScale="0" greenScale="0" blueScale="0" alphaScale=".4" width="480" height="24" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="anim:HideObject" image="nothing" unknownInt18="0x0"/>
    <!-- added elements x9 -->
    <Plane name="FieldBlue" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale=".7" width="480" height="24" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="anim:GlowField" image="image:img_field_blue" unknownInt18="0x30000"/>
    <Plane name="FieldRed" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale=".7" width="480" height="24" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x0" onLoad="nothing" image="image:img_field_red" unknownInt18="0x30000"/>
    <Text name="TextSource" posX="-235" posY="0" objectScale="0" redScale=".4" greenScale=".4" blueScale=".4" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_source" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="7.02" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextBattery" posX="-160" posY="0" objectScale="0" redScale=".118" greenScale=".314" blueScale=".635" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_battery" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextExternal" posX="-160" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="0" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_external" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextStatus" posX="-50" posY="0" objectScale="0" redScale=".4" greenScale=".4" blueScale=".5" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_status" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="7.02" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextUse" posX="25" posY="0" objectScale="0" redScale=".118" greenScale=".314" blueScale=".635" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_use" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextCharge" posX="25" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="0" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_charge" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
    <Text name="TextComplete" posX="25" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="0" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x1" onLoad="nothing" text="text:msg_complete" unknownRef18="nothing" unknownInt20="0x1010001" unknownInt21="0x0" size="5.9" topRed="1" topGreen="1" topBlue="1" bottomRed="1" bottomGreen="1" bottomBlue="1" spacingHorizontal="0" unknown30="0x0" unknown31="0x0" unknown32="0x0" spacingVertical="0" shadowX="2" shadowY="-2.5" shadowPerspective="0" shadowRed="0.45" shadowGreen="0.45" shadowBlue="0.45" shadowAlpha="" unknown41="0x0" unknown42="0x0" unknown43="0x0" unknownFloat44="1" unknownFloat45="1" unknownFloat46="1" unknownFloat47="1" unknown48="0xffffffff"></Text>
<Plane name="battery" posX="240" posY="-125" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="96" height="26" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:tex_battery" unknownInt18="0x0"/>
    <!-- added elements x4 -->
    <Plane name="BatMage1" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery1" unknownInt18="0xffff"/>
    <Plane name="BatMage2" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery2" unknownInt18="0xffff"/>
    <Plane name="BatMage3" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery3" unknownInt18="0xffff"/>
    <Plane name="BatMage4" posX="0" posY="0" objectScale="0" redScale="1" greenScale="1" blueScale="1" alphaScale="1" width="0" height="0" posUnknown="0" scaleWidth="1" scaleHeight="1" elementScale="1" iconOffset="0x2" onLoad="nothing" image="image:img_battery4" unknownInt18="0xffff"/>

AnimTree要素内の編集

アニメーションの内容を変更したいときは"anim_battery_charging""anim_battery_not_charging"を利用します。以下にデフォルトの記述を示します。

<!-- 充電中(Default) -->
<Animation name="anim_battery_charging">
    <Fade object="object:battery" duration="0" accelMode="0x0" transparency="1" />
    <Fade object="object:battery_shadow" duration="0" accelMode="0x0" transparency="1" />
    <Delay time="600" />
    <Fade object="object:battery" duration="0" accelMode="0x0" transparency="0" />
    <Fade object="object:battery_shadow" duration="0" accelMode="0x0" transparency="0" />
    <Delay time="400" />
    <FireEvent object="anim:anim_battery_charging" />
</Animation>

動作説明: バッテリーが充電状態に入ると実行されます。Fade要素での表示/非表示を切替える点滅動作を繰り返します。Delay要素のtime属性値を変更することで点滅スピードをコントロールできます。

<!-- 充電終了(Default) -->
<Animation name="anim_battery_not_charging">
    <Fade object="object:battery" duration="0" accelMode="0x0" transparency="1" />
    <Fade object="object:battery_shadow" duration="0" accelMode="0x0" transparency="1" />
</Animation>

動作説明: "anim_battery_charging"実行中にバッテリーへの外部給電が断たれるとこちらのアニメーションへ移行する。Fade要素で表示状態にしているだけです。以下に変更例の記述を示します。

<!-- 充電中(変更例) -->
<Animation name="anim_battery_charging">
    <Recolour object="object:battery" duration="1000" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:FieldRed" duration="1000" accelMode="0x0" red="1" green="1" blue="1" alpha=".7"/>
    <Recolour object="object:FieldBlue" duration="1000" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:TextBattery" duration="1000" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:TextExternal" duration="1000" accelMode="0x0" red=".8" green="0" blue="0" alpha="1"/>
    <Recolour object="object:TextUse" duration="1000" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:TextCharge" duration="1000" accelMode="0x0" red=".8" green="0" blue=".1" alpha="1"/>
    <Delay time="1000"/>
    <FireEvent object="anim:CahrgeBattery"/>
</Animation>

動作説明: バッテリーアイコンを非表示に、背景オブジェクトの表示を切り替え、充電中を示すテキスト"CHARGING"を表示させて次のアニメーションへ移行させています。

<!-- 充電中その2(追加) -->
<Animation name="CahrgeBattery">
    <Recolour object="object:BatMage1" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="1"/>
    <Delay time="800"/>
    <Recolour object="object:BatMage1" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage2" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="1"/>
    <Delay time="800"/>
    <Recolour object="object:BatMage2" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage3" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="1"/>
    <Delay time="800"/>
    <Recolour object="object:BatMage3" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage4" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="1"/>
    <Delay time="1000"/>
    <SlideOut object="object:FieldRed" duration="0" accelMode="0" xspeed="0" yspeed="0" xcompress="0" ycompress="0"/>
    <SlideOut object="object:FieldRed" duration="1000" accelMode="0" xspeed="0" yspeed="0" xcompress="1" ycompress="1"/>
    <Delay time="1000"/>
    <Recolour object="object:BatMage4" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Delay time="1000"/>
    <FireEvent object="anim:CahrgeBattery"/>
</Animation>

充電中のアニメーション

動作説明(参考画像2): これは追加アニメーションで"anim_battery_charging"から派生します。"BatMage1~4"の表示を順番に切替える動作をくり返します。SlideOut要素は上手く説明できないので実際の動作をご覧下さい。

<!-- 充電終了(変更例) -->
<Animation name="anim_battery_not_charging">
    <Recolour object="object:FieldRed" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage1" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage2" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage3" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage4" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:TextExternal" duration="600" accelMode="0x0" red=".8" green="0" blue=".1" alpha="0"/>
    <Recolour object="object:TextCharge" duration="600" accelMode="0x0" red=".8" green="0" blue=".1" alpha="0"/>
    <Delay time="1000"/>
    <Recolour object="object:FieldBlue" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha=".7"/>
    <Recolour object="object:TextBattery" duration="600" accelMode="0x0" red=".118" green=".314" blue=".635" alpha="1"/>
    <Recolour object="object:TextComplete" duration="600" accelMode="0x0" red=".118" green=".314" blue=".635" alpha="1"/>
    <Delay time="2600"/>
    <Recolour object="object:TextComplete" duration="600" accelMode="0x0" red=".118" green=".314" blue=".635" alpha="0"/>
    <Recolour object="object:TextUse" duration="600" accelMode="0x0" red=".118" green=".314" blue=".635" alpha="1"/>
    <Recolour object="object:battery" duration="600" accelMode="0x0" red="1" green="1" blue="1" alpha="1"/>
</Animation>

充電終了時のアニメーション

動作説明(参考画像3): 充電中のオブジェクトを全て非表示にして、充電完了を示すテキスト"COMPLETED"を表示、その後充電前のオブジェクトを全て表示させて動作を終了します。

<!-- 追加例 -->
<Animation name="HideObject">
    <Recolour object="object:FieldRed" duration="0" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage1" duration="0" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage2" duration="0" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage3" duration="0" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:BatMage4" duration="0" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:TextCharge" duration="0" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
    <Recolour object="object:TextComplete" duration="0" accelMode="0x0" red="1" green="1" blue="1" alpha="0"/>
</Animation>

通常時のバッテリー表示

動作説明(参考画像4): これは追加アニメーションです。追加オブジェクトの初期表示設定用として追加したもので充電中のオブジェクトを隠すためのものとして動作します。

その他の変更

<!-- ×ボタン表示(変更例) -->
<Animation name="anim_cross_show">
    <MoveTo object="object:battery" duration="700" accelMode="0x0" x="240" y="-105" unknownFloat4="0"/>
    <MoveTo object="object:battery_shadow" duration="700" accelMode="0x0" x="0" y="-105" unknownFloat4="0"/>
    <Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="1"/>
</Animation>

ボタンナビ表示時にバッテリーがスライドする

動作説明(参考画像5): オリジナルのアニメーションを変更しています。バッテリー表示位置がボタンナビ表示と被ってしまうのでそれの対策として変更します。ボタンナビが表示されるときに同時にバッテリーアイコンを移動させるようにして画像が重なるのを防ぎます。

<!-- ×ボタン非表示(変更例) -->
<Animation name="anim_cross_hide">
    <MoveTo object="object:battery" duration="700" accelMode="0x0" x="240" y="-125" unknownFloat4="0"/>
    <MoveTo object="object:battery_shadow" duration="700" accelMode="0x0" x="0" y="-125" unknownFloat4="0"/>
    <Fade object="object:cross_shadow" duration="100" accelMode="0x0" transparency="0"/>
</Animation>

動作説明: オリジナルのアニメーションへの変更しています。ボタンナビが非表示になるとき同時にバッテリーアイコンを元の位置に戻します。どちらもMoveTo要素のアニメーションを追加しただけです。

参考リンク

RCO Editorを使ったバッテリーアイコンの変更方法を紹介されているサイトを集めてみました。PCの問題でRcomageを使えない人はこちらを参照してください。

公開: 2010年08月10日, カテゴリ: XMBカスタマイズ

現在の書き込みは、-件です。

現在の書き込みは、5件です。

446 :ツェネダ:2010/08/11(水) 22:58:56 ID:JBFGtPPo
お久しぶりです。やっとこさPCが復活しました。
テーマ製作環境を再構築中ですが、何やらBSRが起動しなくなっちゃいましたw 藍色さんは解決できましたか?
コメントをこっそり読んでましたが、AKOさんの新作はすごいみたいですね。これまた楽しみです。
447 :藍色:2010/08/12(木) 00:18:55 ID:aV/dabIU
どうもお久し振りです。
PC復活ってことは調子が悪かったんですか?

BSRは結局解決できてませんね。highboy氏のソフトには軒並み嫌われてるみたいです。ただ5.00用が起動するのでなんとかなってます。
448 :ツェネダ:2010/08/12(木) 01:09:01 ID:JBFGtPPo
そうでしたか。5.00用で作ってコンバート、もしくはそのまま使うって感じですね。
PCはマザーとHDDがやられてしまい、他もガタが来てそうだったので本体を買い替えました。
追記:EPにてStylishblueを発見?w
449 :藍色:2010/08/12(木) 21:07:30 ID:aV/dabIU
そのまま使えるのかは試してませんが、5.50に変換して使ってます。
PCの件は災難でしたね。私も最近動作がおかしくなるときがあるので不安ですね。

EPのはさっき私も見てきました。
実はスレッド立てた人とはプライベートメッセージで暫くやり取りしてたんですよ。
アニメーション関連で助けて欲しいって内容で。私としたら質問の内容より何を
言ってるのか訳すほうが大変でしたけど。まぁああしてスレッド立てるところまで
行き着いたようで何よりですね。
450 :ツェネダ:2010/08/12(木) 21:55:21 ID:JBFGtPPo
裏でそんな動きがあったんですか。
理解するのも大変ですけど、伝えたいことをうまく書けないのがキツいっす・・・。
まあでも興味を持ってくれる人が多いのはうれしい限りなんですけどね。