CXMB教學(7):XML之Object修改 - 改機

Elma avatar
By Elma
at 2011-07-26T09:56

Table of Contents


前言:

這篇指的是RCO檔案中,物件新增的方法以及基本規則

動畫的部分是下一篇的範圍



所需軟體:

1.RCOMage

2.PSPad(可用記事本代替)



XML編輯:

首先請使用RCOMage拆解希望的rco之後

接著使用PSPad編輯主要的xml

關於RCO的架構部分,如果還有不熟的地方,請回顧前面的教學



圖片引用<ImageTree>:

RCO的圖片引用,有以下幾個要點:

1.支援透明背景的png格式

2.雖然許多情況會建議使用Index-color,但是一般說起來RGB-color沒有問題


接著是圖片引用的部分,也就是XML內的<ImageTree>標籤

<ImageTree>內的可用標籤有<Image>..等

以下是範例:

<Image name="名稱" src="路徑"
format="gim" compression="zlib" unknownByte="0" />


1.name:識別名稱,日後要引用此張圖片時以此為代號
可接受底線"_",分隔線"-"等符號
預防萬一,請勿使用數字開頭如"3a"

2.src:圖片路徑,也就是跟xml相對的圖片位置
輸出時程式會以此路徑壓製圖片
如果路徑有錯會產生錯誤訊息

3.format:圖片輸出格式,一般預設為gim,如果沒有特殊用途請不要亂改


接著只要在<ImageTree>裡,新增許多行的<Image>

就可以一張一張的引用圖片了

圖片引用之後是不會出現在畫面上的,因為沒有宣告物件跟設定位置

即便如此,還是可以先將圖片資料引用進來測試

之後慢慢修改其他的部分即可


聲音引用<SoundTree>:

聲音引用的部分跟圖片引用的方法一樣

差別就在於需要寫在<SoundTree>裡面而已

以下是範例:

<Sound name="名稱" src="路徑" format="vag" />

1.name:識別名稱,日後要引用此聲音時以此為代號
可接受底線"_",分隔線"-"等符號
預防萬一,請勿使用數字開頭如"3a"

2.src:聲音路徑,也就是跟xml相對的聲音位置
輸出時程式會以此路徑壓製聲音
如果路徑有錯會產生錯誤訊息

3.format:圖片輸出格式,一般預設為vag,如果沒有特殊用途請不要亂改


接著只要在<SoundTree>裡,新增許多行的<Sound>

就可以一個一個的引用聲音了

聲音引用之後是不會隨意發聲的,因為沒有宣告使用

即便如此,還是可以先將聲音資料引用進來測試

之後慢慢修改其他的部分即可


模型引用<ModelTree>:

模型引用的部分跟圖片引用的方法一樣

差別就在於需要寫在<ModelTree>裡面而已

以下是範例:

<Model name="名稱" src="路徑"
format="gmo" compression="zlib" unknownByte="0" />

1.name:識別名稱,日後要引用此模型時以此為代號
可接受底線"_",分隔線"-"等符號
預防萬一,請勿使用數字開頭如"3a"

2.src:模型路徑,也就是跟xml相對的模型位置
輸出時程式會以此路徑壓製模型
如果路徑有錯會產生錯誤訊息

3.format:圖片輸出格式,一般預設為gmo,如果沒有特殊用途請不要亂改


接著只要在<ModelTree>裡,新增許多行的<Model>

就可以一個一個的引用模型了

模型引用之後是不會出現在畫面上的,因為沒有宣告物件跟設定位置

即便如此,還是可以先將模型資料引用進來測試

之後慢慢修改其他的部分即可


頁面新增<ObjectTree>:

要讓圖片顯示在畫面上的方法,就是新增物件

在新增物件之前,得先新增頁面<Page>

適當的建立頁面,可以將不同的物件分門別類

對於物件的管理跟展示會比較清楚有條理

以下是範例:

<Page name="頁面" unknownInt0="0x111" onInit="指令" onCancel="指令"
onContextMenu="指令" onActivate="指令">

1.name:識別名稱,頁面的識別名稱非常重要,需要仔細規劃
即使是不同的RCO,已經叫出來的頁面名稱也不可重複,而且可互相呼叫
所以不建議匿名性的命名方式
錯誤的命名會導致頁面呼叫失敗或顯示錯亂

2.onInit:頁面操作指令,初始預設值
當頁面載入後會跟著執行的動作,格式為"event:事件"
"native:/頁面名稱"為附加該頁面的事件
如無須事件需填入"nothing"

3.onCancel:頁面操作指令,X按鍵,其餘同上
一般當作功能表出現的頁面,需編寫此指令建立退出

4.onContextMenu:頁面操作指令,△按鍵,其餘同上
一般以此功能編寫此指令呼叫功能頁面

5.onActivate:頁面操作指令,○按鍵,其餘同上
  


物件新增<Page>:

頁面建立好之後,接著就是物件的產生

<Page>內可用的物件有<Plane>,<Button>,<ModelObject>,<IList>..等等

1.ModelObject:建立引用模型物件

2.Plane:建立引用圖形物件,或建立空白物件群組,可建立多層Plane

3.Button:建立虛擬按鈕判定物件,在未切換頁面時所執行的動作需以此物件執行

4.IList:建立表單物件,表單內容則需另外修改


物件建立好之後,接著是物件的屬性

物件的屬性有許多是共通的,以Plane物件為例:

<Plane name="名稱" 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="0x0" onLoad="事件" image="nothing"
unknownInt18="0x0">

1.name:識別名稱,由於同一張圖片可複製成不同的物件
雖然是引用圖片建立物件,但需與圖片本身以不同名稱命名
之後操控視覺圖片時,是操縱已建立物件而非原圖片本身

2.posX,posY:物件的初始x,y座標,相對於母物件

3.objectScale:物件延伸度,一般皆為0

4.redScale,greenScale,blueScale,alphaScale:
物件的RGB彩度比例與透明度比例,1為100%
alphaScale設定0為全透明

5.width,height:設定物件寬度與高度

6.scaleWidth,scaleHeight:設定物件寬度與高度比例,1為原尺寸

7.elementScale:設定物件元素比例,1為原尺寸

8.icoOffset:物件對齊參考點
0為置中,1為左方,2為右方
換句話說0x2表示物件的對齊參考點在中央右方

9.onLoad:物件建立初始事件,大多為動畫宣告如:"anim:動畫識別名稱"
有關動畫的流程再行詳述

10.image,model:插入引用圖片或模型,Plane時使用image,Model時使用model
格式為"image:圖片識別名稱"或"model:模型識別名稱"
如無需引用圖形需填入"nothing",此時為建立空白物件群組


需要另外提的是Button物件,由於Button是設定虛擬按鍵判別物件

會比其他的物件多出了按鈕的設定屬性

1.onPush:○按鍵,格式為"event:事件"或"anim:動畫識別名稱"
如無需設定此按鍵需填入"nothing"

4.onFocusLeft:←按鍵,其餘同onPush

5.onFocusRight:→按鍵,其餘同上

6.onFocusUp:↑按鍵,其餘同上

7.onFocusDown:↓按鍵,其餘同上

8.onContextMenu:△按鍵,其餘同上


--
Tags: 改機

All Comments

Wallis avatar
By Wallis
at 2011-07-30T02:08
<Plane>新增iconOffset屬性說明

CXMB教學(6):XML之座標體系概念

Suhail Hany avatar
By Suhail Hany
at 2011-07-25T20:11
前言: 這篇指的是RCO檔案中,物件編輯時,座標軸體系的基本概念 由於寫得有點長所以額外獨立出來一篇 物件座標軸: 在物件的建立之前,得先搞清楚在PSP中座標軸的體系 PSP的座標有兩個特性,就是置中and相對 1.置中: PSP的解析 ...

請問是否請別人用ps3 ftp修改存檔id後拿回來用 ?

Daph Bay avatar
By Daph Bay
at 2011-07-25T20:08
敝人最近入手了TOV,想要使用網路上提供的完美破關檔直接進行第2輪 不過參考了網路上的文章後發現一定要有PS3 FTP才能把存檔改成自己的id 問題是敝人的ps3已經升級過無法使用PS3 FTP 想請教一下如果把自己的帳號和完美存檔提供給有FTP的人的話 可以直接修改成此帳號的id嗎 ? 不過,有裝PS3 ...

Showtime-3.1.22

Emma avatar
By Emma
at 2011-07-25T11:29
這次的更新裡面新增字幕字體大小、顏色方面的設定。 另外修正播放佇列的 bug。個人的調整上,捨棄了PGothicTakao字型改換成比較 沒有缺字問題的「文泉驛正黑」,大小有11.4MB,所以整個.pkg檔也膨脹到15MB 左右。不滿意的人依舊可以自行替換,選用其他.ttf、.otf格式的字型。 版本編號 ...

FuSa SD for CFW 6.3X

Edward Lewis avatar
By Edward Lewis
at 2011-07-25T10:33
來源:http://twitter.com/#!/neur0ner/status/95075942556368896 FuSa SD是讓PSP使用色差、AV端子輸出遊戲畫面時 可以不受系統限制將遊戲畫面轉為全螢幕的插件 現已由neur0ner移值到6.3X的自製韌體上 說實話放大之後顆粒不小啊,但是免 ...

3.60 flash dumped, keys' comming soon

Andrew avatar
By Andrew
at 2011-07-25T08:52
http://goo.gl/63Ejg 大概就是把一台升到3.6x的主機上的 Flash晶片拆下來然後接到他自己的板子上 ,然後用電腦讀出來。假設主機板上bootrom 晶片不做加解密的動作,那 Flash 晶片上面一定至少有一個區域是沒有加密的明碼狀態,而這個明碼區域裡面一定 至少有一支金鑰能夠把後方加密 ...