CXMB教學(7):XML之Object修改 - 改機
By Elma
at 2011-07-26T09:56
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
By Wallis
at 2011-07-30T02:08
at 2011-07-30T02:08
Related Posts
CXMB教學(6):XML之座標體系概念
By Suhail Hany
at 2011-07-25T20:11
at 2011-07-25T20:11
請問是否請別人用ps3 ftp修改存檔id後拿回來用 ?
By Daph Bay
at 2011-07-25T20:08
at 2011-07-25T20:08
Showtime-3.1.22
By Emma
at 2011-07-25T11:29
at 2011-07-25T11:29
FuSa SD for CFW 6.3X
By Edward Lewis
at 2011-07-25T10:33
at 2011-07-25T10:33
3.60 flash dumped, keys' comming soon
By Andrew
at 2011-07-25T08:52
at 2011-07-25T08:52