2009-12-09 16:43
開篇前簡單說幾句,我也是初學者,也是一步一步學習無限皮膚的制作的,本貼是一個初學者的貼子,難免會有錯誤,希望高手們也能指導(dǎo)一下我們這些初學的,比如哪些可以優(yōu)化一下什么的,在此先感謝了.
首先,要設(shè)計一張自己理想的皮膚圖,將皮膚里用到的元素圖片準備好,這里我盜用了NO1皮膚里的部分圖標,因為設(shè)計圖標實在不是本人的長處(其實編寫代碼也不是我的長處,這不是學習嘛)…..在這里對NO1作者表示歉意和感謝了.將圖標整理好,最好放到專門的文件夾里(可以參考附件里的文件夾命名方式).
這里建議在編寫代碼的時候打開圖像編輯器,按自己設(shè)計的頁面將各種元素放置好,這樣可以從圖像編輯器中很方便讀取到下面會用到的XY坐標,寬度,高度等等參數(shù).
我是用FIREWORKS做的,別的不會用啊,剛開始就遇到麻煩了…我是想實現(xiàn)一種藍光的效果,FW有些地方不是我想要的啊,設(shè)計的差不多了,越看越丑.還盜用了好多別人的圖標,唉,這做皮膚的真不是一般的牛啊,尤其是原創(chuàng)的…..
此貼寫完后,實現(xiàn)的效果...
終于弄的差不多了,因為先準備做首頁,先把首頁的元素找齊吧,下面開始寫代碼了…
打開無限今日皮膚編輯器(置頂貼有下載),打開后點擊 文件>新建,如圖
先說明一下,點擊某一行語句后,在編輯器下方會出現(xiàn)此語句的參數(shù),什么參數(shù)有什么意義,編輯器中寫的很清楚.
下面我們要對代碼進行編輯了.
初步編輯后的樣子如下圖:(此處引用的NO1皮膚的開頭語句,作為第一個無限的主題,NO1應(yīng)該算是個范例了,所以有好多語句引用的NO1皮膚的,在這里一并向作者表示感謝了)
看了好多INI文件,發(fā)現(xiàn)作者們都有一個編寫代碼的好習慣,就是將代碼分好組,并且將代碼實現(xiàn)的功能寫清楚,自己找起來方便,以后發(fā)布了別人修改也方便.唉,如果皮膚的作者們都不寫注釋,估計我這時候還在一行一行研究呢.
下面對修改后的代碼進行解釋
#無限今日皮膚腳本文件
<==加個”#”代表此行代碼為注釋語句
#皮膚名稱"藍色月光", 作者: baoliarmy
<==不用多說吧,版權(quán)內(nèi)容
#===========【皮膚總體設(shè)置開始】===========
<==代碼分組
#皮膚名字
<==代碼的解釋
Name=藍色月光 <==name就是在無限中選擇皮膚的皮膚名
#更新頻率
Refresh=3
<==刷新頻率,數(shù)值有0123,各自意思在命令參數(shù)中寫的很清楚,通過了解,如果刷新頻率過快,手機也會很費電的….
#默認加載組號
DefaultGroup=1
<==可以將組理解為頁面,此句意思是指默認加載的頁面是第一頁
#點擊特效
ClickRectAlpha=1,0
<==點擊效果,兩個參數(shù),各參數(shù)代表的含義,語句幫助中看
#隱藏軟健欄并強制將皮膚顯示擴展到軟鍵欄區(qū)域
.SoftKeyBar=1,1
<==看上面吧,解釋的很清楚,參數(shù)可以點擊后看代碼窗口的提示
#高度
Height=320
#全屏顯示,3為直接隱藏系統(tǒng)任務(wù)欄
wxBarRect=3,0,0,240,26,#000000,1
<==參數(shù)比較多,一個一個理解吧,點擊后在編輯器下方有詳細的解釋.這里的#000000指的是黑色,因為咱們準備用圖片代替系統(tǒng)任務(wù)欄,這個顏色無所謂了,如果你只準備用某個顏色成為任務(wù)欄的背景,就寫上你的顏色代碼.
#===========【皮膚總體設(shè)置結(jié)束】===========
好,皮膚的全局設(shè)定算是完成了,很簡單?錯了,這只是個開頭,如果你的皮膚要實現(xiàn)很多效果,或者減少代碼量,還要對一些自己用著方便的變量進行設(shè)定……我們做的,只是最簡單的…
接下來定義一下全局的東東,比如背景圖,任務(wù)欄背景,下方欄背景
#===========【全局開始】===========
#定義背景
wxDrawPicEx=-1,0,0,0,0,0,0,0,0,0,0,blue\bj.jpg
#此命令是最常用的語句之一了,表示顯示圖片,參數(shù)分別解釋一下
#-1,表示組號.也就是頁面號.因為沒看到具體的說明,從本人的理解來看,-1頁是始終顯示的,適用于皮膚的背景,開始欄,下方頁面欄等等.0表示永遠不顯示.
#-1后面的參數(shù)大家看語句說明就能明白,不解釋了
#為了我自己的效果,這里我用了全屏黑顏色,想問為什么,因為時鐘那個數(shù)字圖片沒做成透明的,換了別的背景更丑了…
#定義開始欄背景
wxDrawPicEx=-1,0,0,0,0,0,0,0,0,0,0,blue\shanglan.png
#定義頁面欄背景
wxDrawPicEx=-1,270,0,0,0,0,0,0,0,0,0,blue\xialan.png
#定義開始
wxDrawStringEx=-1,11,0,0,30,0,#0066FF,700,開始
#這行命令,是顯示字符, 還有一個字符顯示的命令wxDrawStringEx,指顯示格式化的字符,兩者區(qū)別可以參考”指令說明”的12和13項.下面我們只對此行的參數(shù)進行說明:(按從左向右的順序)
#-1—表示此行字符所在的頁面號,因為是始終顯示,所以是-1
#11—字體大小
#0—文字開始的Y坐標
#0—文字開始的X坐標
#30---此行文字的寬度
#0---此行文字的排版格式,有三個參數(shù),0(居左).1(居中).2(居右)
復(fù)制到編輯器中點擊,會在下方有說明
#
#0066FF—字體的顏色
#700---粗細(0-1000,400是普通,700是粗體)
#開始---顯示的內(nèi)容(以后可以用”系統(tǒng)變量列表”中的內(nèi)容進行替換,也可以用自己定義的變量,下面還有別的介紹)
wxClickAction=-1,0,0,30,16,10,91
#這個是最常用的命令了,表示點擊某個區(qū)域后實現(xiàn)什么動作.
#前面幾個參數(shù)不介紹了,只介紹一下最后一個參數(shù),即”事件字符串”
#事件字符串,是要說明點擊后的事件,首先要知道各數(shù)字代表執(zhí)行什么操作(參照事件功能列表),我們這里用了 “10,91”,從事件功能列表中,我們可以看到,10代表模擬按鍵,91代表模擬了HOME按鍵(就是開始菜單).至于其他的功能,大家看一下幫助文件,有具體的說明和參數(shù)的意義.
#定義下方頁面圖標
wxDrawPic=-1,274,15,40,40,0,blue\tubiao\home1.png
wxDrawPic=-1,274,75,40,40,0,blue\tubiao\tianqi1.png
wxDrawPic=-1,274,135,40,40,0,blue\tubiao\folder1.png
wxDrawPic=-1,274,195,40,40,0,blue\tubiao\users1.png
#===========【全局結(jié)束】===========
上面就是全局代碼了,因為我們的皮膚很簡單,暫時就先用這么多,等搞的透了,再加上其他的功能.
下面,要進行各頁面的設(shè)計工作了
首先,按照皮膚編寫的習慣,我們要將組號定義一下,這里繼續(xù)引用NO1皮膚的語句,
#===========【組號備忘開始】===========
# ----首頁================1
<==看到前面的”#”了吧,這只是個注釋語句,目的是講清楚,首頁在第幾個頁面,方便自己也方便他人
# ----天氣頁==============2
# ----程序頁==============4
# ----聯(lián)系人頁============8
#===========【組號備忘結(jié)束】===========
因為咱們是從頭開始學的,也是最簡單的,只設(shè)計了四個頁面,別人的皮膚都是十幾個呢...做皮膚真的是件煩鎖的事…..
接下來,按照NO1的規(guī)范,是對變量的定義了,由于我們是初學者,就先不定義變量了…(什么開始欄啊,信號欄啊等等….初學的先跳過了,以后再說)
然后,我們定義一下主頁的顯示
# ===========【首頁開始 組號=1】===========
#首頁背景
wxDrawPic=1,80,0,0,0,0,blue\sybj.png
#日期及天氣顯示
wxDrawStringEx=1,9,26,0,240,1,#0066FF,400,{SY}年{SM}月{SD}日 星期{WD} {WHR:0:0:0}天氣:{WHR:1:0:17}
#上面這句解釋一下, wxDrawStringEx是指顯示格式化的字符,還有一個顯示文本的命令是wxDrawString(在上面我們提到過了)兩者區(qū)別可以參考”指令說明”的12和13項.下面我們只對wxDrawStringEx的參數(shù)進行說明:(按從左向右的順序)
1—表示此行字符所在的頁面號,因為是首頁,所以是1
9—字體大小
26—文字開始的Y坐標
0—文字開始的X坐標
240---此行文字的寬度
1---此行文字的排版格式,有三個參數(shù),0(居左).1(居中).2(居右)
復(fù)制到編輯器中點擊,會在下方有說明
#0066FF—字體的顏色
400---粗細(0-1000,400是普通,700是粗體)
{SY}年{SM}月{SD}日 星期{WD} {WHR:0:0:0}天氣:{WHR:0:0:17}—語言說明的字符串,{SY}{SM}{SD}分別表示系統(tǒng)的年月日(這些在”系統(tǒng)變量列表”里有),如果你打開了”系統(tǒng)變量列表,順便看看 {WHR:0:0:0}{WHR:0:0:17}的各數(shù)字代表的意思的說明,很容易理解
wxClickAction=1,26,0,240,15,0,\Windows\ctlpnl.exe cplmain.cpl,16,0
#時鐘顯示
wxDrawPic=1,40,24,0,0,0,blue\clock\{SH0}.png
#顯示圖片的命令寫過了,大家看到我這里用了{SHO}變量,從幫助文件中了解到,這是指24小時格式的十位數(shù),也就是012,在皮膚文件夾里,時鐘數(shù)字是用圖片來實現(xiàn)的,圖片的命名也就是0.PNG,1.PNG…..所以當{SH0}變化的時候,圖片也跟著變化,也就實現(xiàn)了圖片時鐘的顯示了.下面幾個變量,可以從幫助里查到意思,不多解釋了
wxDrawPic=1,40,68,0,0,0,blue\clock\{SH1}.png
wxDrawPic=1,40,112,0,0,0,blue\clock\maohao.png
wxDrawPic=1,40,138,0,0,0,blue\clock\{SF0}.png
wxDrawPic=1,40,180,0,0,0,blue\clock\{SF1}.png
wxClickAction=1,40,20,200,60,0,\Windows\ctlpnl.exe cplmain.cpl,16,0
#上面這句最后的參數(shù),0表示這個點擊事件是運行程序,后面是程序的路徑.
#節(jié)日提醒
wxDrawStringEx=1,9,104,0,240,1,#0066FF,400,{ZJSTX}
#{ZJSTX}可以從幫助文件中查到
#未接電話
wxDrawStringEx=1,10,120,20,80,1,#0099FF,400,未接電話:{MissedCall}
wxClickAction=1,120,20,80,20,0,\Windows\cprog.exe
#未讀短信
wxDrawStringEx=1,10,120,120,80,1,#0099FF,400,未讀短信:{UnreadSMS}
wxClickAction=1,120,120,80,20,0,\Windows\tmail.exe -transport "SMS"
好了,大體首頁顯示的內(nèi)容已經(jīng)出來了.由于后面的東東我還沒做出來,先寫到這兒了.這些代碼我自己都運行了,基本沒什么問題.中間出現(xiàn)了好多問題,在這也分享一下,希望在大家自己寫代碼測試的時候有幫助.
1.調(diào)用的圖片名稱和后綴都要寫正確.我有幾個差一個字母,弄了半天顯示不出來,粗心啊.
2.對于點擊事件運行程序,用\開頭!!!!對于圖片的路徑,不要用\開頭….
如 “wxDrawPicEx=-1,270,0,0,0,0,0,0,0,0,0,blue\xialan.png”
我一開始用的是 \blue\xialan.png,結(jié)果怎么也顯示不出來,把\去掉后就好了…
3.WM6中文版的模擬器好象對按鍵命令不太感冒,
如wxClickAction=-1,0,0,30,16,10,91 這行,我在模擬器怎么點都不出開始菜單,弄到手機上就好了.
其他的,全靠自己細心了,做皮膚真的是件苦差事,也很鎖碎,但能用上自己做的皮膚,那種喜悅也是很難得的.
另外,由于本人時間有限,下一步只做了個規(guī)劃,還沒有著手寫,發(fā)貼時間就定不了,大家先自己學習學習吧,多問問論壇里的大大們...等咱們成了大大后,別人就問咱了,哈哈