動(dòng)態(tài)引擎鎖屏教程v3.0腳本語(yǔ)法兼容_第1頁(yè)
動(dòng)態(tài)引擎鎖屏教程v3.0腳本語(yǔ)法兼容_第2頁(yè)
動(dòng)態(tài)引擎鎖屏教程v3.0腳本語(yǔ)法兼容_第3頁(yè)
動(dòng)態(tài)引擎鎖屏教程v3.0腳本語(yǔ)法兼容_第4頁(yè)
動(dòng)態(tài)引擎鎖屏教程v3.0腳本語(yǔ)法兼容_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余9頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【18:9 兼容性更新】新引擎可以兼容老,寫(xiě)前按照以下幾個(gè)步驟判斷一下:1 、新引擎支持多比例的壁紙圖,會(huì)優(yōu)先使用比例接近的,例如資源里面可以放default_lock_wallpdefault_lock_wallpr_18_9.jpg、default_lock_wallpr_16_10.jpg、r.jpg 等,18:9 的機(jī)器會(huì)優(yōu)先找default_lock_wallpr_18_9.jpg,沒(méi)有就找 default_lock_wallp版本r.jpg,這樣只需要一套就能兼容各種比例的機(jī)器和老2、老只有 default_lock_wallp裁剪兩邊r.jpg,是 16:9 的,新引擎也能跑,會(huì)

2、把它拉長(zhǎng),3、如果光改壁紙不能滿足需求,可以在資源中放多個(gè),例如 18_9_manifest.xml、16_10_manifest_105.xml、manifest.xml,新引擎會(huì)根據(jù)屏幕比例選擇比例接近的9 的機(jī)器會(huì)跑 18_9_manifest.xml,18:4 、中不使用 display_width 和 display_height , 還是使用 screen_width 和screen_height16:9 的壁紙?jiān)谛乱嬷行Ч€可以的就不用添加 18:9 的,添加壁紙能解決的就沒(méi)必要寫(xiě)多個(gè) xml 了,上半?yún)^(qū)域的元素盡量用頂對(duì)齊,下半?yún)^(qū)域的盡量用底對(duì)齊所有必須兼容 18:9 屏幕,

3、需要在 unlock 里面的 xml 里面加上:manifest.xml 文件是描述frameRate: 指定幀率,如果動(dòng)畫(huà)緩慢,可以指定小一點(diǎn)的值,省電。默認(rèn)為 30。 screenWidth: 設(shè)定屏幕寬度標(biāo)準(zhǔn)。如果指定為 720,鎖屏中所有元素的位置都按 720p 的布局編寫(xiě),1080p、480p 等分辨率機(jī)會(huì)自動(dòng)進(jìn)行縮放。壁紙?jiān)豔allpr 元素系統(tǒng)設(shè)置的壁紙,除了不能指定源外其他和 Image 元素相同,可以有動(dòng)畫(huà)和其他屬性控制。如果沒(méi)有此元素則不顯示壁紙。可以有多個(gè)。 例子: 變量變量expresexpres變量對(duì)應(yīng)的表達(dá)式或常量 注意:如果定義字符串常量需要多一套單引號(hào):=my

4、 stringtype= number/string 定義數(shù)值變量或字符串變量 默認(rèn):numberthreshold 閾值觸發(fā),當(dāng)變量值的變化超過(guò)設(shè)定的閾值時(shí),可以觸發(fā)一些命令。例如:Var name=time3expres=#minute%10 threshold=1d d d dd=time3_anim.visibility value=true/=time3_anim.animation value=play/=time3_anim_new.visibility=time_3_anim_new.visiblity=time_3_anim_new.animationvalue=false/

5、value=truevalue=playdelay=400/delay=400/上述代碼表示#time3 的值每變化 1,就會(huì)執(zhí)行里面的所有命令變量數(shù)組變量數(shù)組/ 顯示英文月份ItemItem.ItemItemvalue=January/value=February/value=November/value=December/全局變量 unlocker: unlocker.move_x unlocker.move_yunlocker.move_dist在x 方向的偏移在y 方向的偏移移動(dòng)的距離的狀態(tài): 0 normal, 1 pressed, 2 reachedunlocker.setouch

6、:touch_x 當(dāng)前觸摸點(diǎn)的 x 坐標(biāo)touch_ytouch_begin_x 按下屏幕時(shí)的初始 x 坐標(biāo)touch_begin_ytouch_begin_time 按下屏幕時(shí)的時(shí)間time:time 當(dāng)前時(shí)間,long time_sys 系統(tǒng)時(shí)間毫秒數(shù) year 年份month 月份(取值范圍是 011,0 表示一月,1 表示二月,以此類(lèi)推)date 日期day_of_k(1 表示日,2 表示一,等等)hour 當(dāng)前小時(shí)minute 分鐘second 秒battery:battery_level當(dāng)前電量,11000 正常 1 充電 2 電量低 3 已充滿battery_sscreen:es

7、creen_width 屏幕寬度screen_height 屏幕高度image: image.actual_w image.actual_himage.bmp_width實(shí)際寬度文件的寬度(不受裁切、縮放的影響,只根據(jù) src 找到指定的,并檢測(cè)該文件的寬度)image.bmp_heightmusic:music_control.music_se 0 暫停 1others: sms_unread_count 未讀call_missed_count 未接數(shù)數(shù)表達(dá)式支持加減乘除取模括號(hào)和函數(shù)加減乘除取模 : + - * / %支持函數(shù):sin, cos, tan, asin, acos, atan

8、, sqrt, abs, min, maxdigit(數(shù)字, 第幾位) 取給定數(shù)字的第幾位 digit(12345, 2) = 4 注意:下標(biāo)從右向左,并且從 1 開(kāi)始round() 四舍五入取整()向下取整rand() 取 0 到 1 之間的隨機(jī)數(shù)(rand()*a+b) 取到的是 b 到 b+a 之間的整數(shù)eq(x,ne(x,ge(x,gt(x,le(x,lt(x,y)y)y)y)y)y)/x=yx!=y x=y?111:000 xy ? 1 : 0 x=y ? 1 : 0 x0 ?ifelse(x, y,x=null ?1 :0/ 是否表達(dá)式包含空變量,通常用于判斷綁定的變量是否0 :

9、1z) /x0y2,? y.:,zz)ifelse(x1, y1, x2,if x10 return y1;else ifx20 return y2; . ; else return z元素可見(jiàn)性支持表達(dá)式 visibility=“表達(dá)式” 0 可見(jiàn)Image, Text, align= left, alignV= top,文本Time 的屬性center, right 坐標(biāo)點(diǎn)水平對(duì)齊方式center, bottom 坐標(biāo)點(diǎn)垂直對(duì)齊方式顯示指定格式的文字,坐標(biāo)屬性支持變量color: 文字顏色,# size: 文字大小format: 如果需要在文字中顯示變量數(shù)字,需要指定格式, 用%d 指定數(shù)

10、字位置paras: 如果指定了 format, 需要在 paras 里指定%d 對(duì)應(yīng)的變量表達(dá)式, 可以有多個(gè)變量表達(dá)式用, 隔開(kāi)align: left, center, right,文字坐標(biāo)的對(duì)齊方式textExp: 文字表達(dá)式,可以直接調(diào)用變量等如想要輸出“現(xiàn)在時(shí)間是 9 點(diǎn)”,可以寫(xiě)成textExp=現(xiàn)在時(shí)間是+#hour12+點(diǎn)width 文字寬度,當(dāng)文字超過(guò)指定寬度時(shí)會(huì)被切掉。如果指定了多行顯示,則會(huì)折行顯示。如果指定了文字滾動(dòng),則會(huì)在指定的位置滾動(dòng)顯示文字textExp 屬性支持字符串表達(dá)式:*天氣信息,如果溫度為空顯示- 非空顯示數(shù)值時(shí)間src 表示時(shí)間的前綴,如下表示使用 ti

11、me_0.png,time_dot.png. 坐標(biāo)屬性支持變量表達(dá)式time_1.png,.time_9.png,日期顯示指定格式的日期format: 支持標(biāo)準(zhǔn)日期格式年:y 或者 yyy 或者 yyyy -數(shù)字年,2015 yy -2 位數(shù)年,15月:M - 9MM - 09 MMM - 九日:- 一年中的第幾天,189 d - 數(shù)字日,23農(nóng)歷:NNNN - 農(nóng)歷:- 周三EEEE - EEEEE - 三小時(shí):三H Kkh-24 小時(shí)制,02312 小時(shí)制,01124 小時(shí)制,12412 小時(shí)制,112分鐘:m - 7mm - 07mmm - 007mmmm - 0007秒鐘:s - 6s

12、s - 07sss - 007ssss - 0007例子:用來(lái)在鎖屏界面上顯示一個(gè),可以指定各種屬性x,y 相對(duì)于屏幕左上角的坐標(biāo)w,h 寬和高pivotX, pivotY 旋轉(zhuǎn)中心roion 旋轉(zhuǎn)角度,一周 360 度ion= src= srcid= alpha=srcsrcid名稱(chēng)序列后綴數(shù)字,一般用變量表示,可以根據(jù)變量顯示不同的,如果src=pic.png srcid=1 則最后會(huì)顯示pic_1.pngalpha align/alignV例子:.數(shù)字 number 是要顯示的數(shù)字表達(dá)式src 是源的文件名,支持 SourceAnimation如果 src=numb類(lèi)似 Timeng 則

13、會(huì)使用 number_0.png number_1.png .文件來(lái)繪制數(shù)字。元素動(dòng)畫(huà)所有元素都支持動(dòng)畫(huà)動(dòng)畫(huà)分為:源,位置,大小,旋轉(zhuǎn),每種動(dòng)畫(huà)相互獨(dú)立,各自循環(huán),動(dòng)畫(huà)由若干關(guān)鍵幀組成,關(guān)鍵幀包括幀屬性和時(shí)間,除源動(dòng)畫(huà)外,其它動(dòng)畫(huà)會(huì)根據(jù)當(dāng)前時(shí)間找到相鄰的兩個(gè)關(guān)鍵幀,然后線性插值計(jì)算當(dāng)前的屬性。 如果第一幀時(shí)間不從 0 開(kāi)始,則默認(rèn)時(shí)間為 0 的第一幀為原始屬性,時(shí)間為毫秒。 位置動(dòng)畫(huà)中的位置是相對(duì)于自身的坐標(biāo)。 ition x=100 y=200 time=1000/itionAnimation/RoRoRoion angle= time=/ ion angle= time=/ ionAnim

14、ation例子:位置動(dòng)畫(huà)表示 1 秒從屏幕最左端到最右端,停留 1 秒,動(dòng)畫(huà)表示開(kāi)始為175,在從最左端到最右端過(guò)程中不變,到達(dá)最右端后 0.5 秒漸變?yōu)椴煌该?,然?0.5秒變?yōu)橥该鳌?然后循環(huán)。 ition x=480 y=0 time=2000/itionAnimation/AlphaAlphaAlpha time=1000/time=1500/a=0 time=2000/注意:只有支持源動(dòng)畫(huà)源動(dòng)畫(huà)稍有不同,沒(méi)有插值,x, y 可選,表示相對(duì)里的找到第一個(gè)大于當(dāng)前時(shí)間的那個(gè)點(diǎn)指定的的位置, 當(dāng)前的是在列表Source x= y=Source x= y= Groupsrc=pic1.png

15、src=pic2.pngtime=100/time=1000/Group name= x=y= w= h=frameRate=0Group 是組的意思,相當(dāng)于控件們的一個(gè)容器,可以用來(lái)包含住其他元素,比如,時(shí)間等等。 通過(guò)給組添加坐標(biāo)和寬高,可以便捷地調(diào)整多個(gè)元素的位置和大小。 同時(shí)Group 還能添加各種動(dòng)畫(huà),種類(lèi)與 Image 一樣全面Slidername: 名字,用來(lái)做變量名bounceInitSpeed, bounceAcceleration 回彈動(dòng)畫(huà)初始速度和加速度(距離為秒),都支持表達(dá)式為像素,時(shí)間可以有任意個(gè) Slider。Trigger Slider 的狀態(tài)切換時(shí),支持 Tr

16、igger 觸發(fā)規(guī)則:當(dāng)起始點(diǎn)(StartPo開(kāi)手指即可以產(chǎn)生觸發(fā))的 x,y 點(diǎn)隨手指移動(dòng)落入 EndPo目標(biāo)區(qū)域矩形時(shí),此時(shí)松Slider 起始點(diǎn):起始點(diǎn)中包含的元素都會(huì)跟隨當(dāng)前操作的拖動(dòng)移動(dòng)位置。NormalSe/從其他狀態(tài)切換到 NormalSe 時(shí),觸發(fā)該 Triggerd=test_trigger.visibility value=false/從其他狀態(tài)切換到 PressedSe 時(shí),觸發(fā)該 Triggere/從其他狀態(tài)切換到 ReachedSe 時(shí),觸發(fā)該 Trigger -mand sound=reached.mp3 volume=1/三個(gè)狀態(tài)都可以不指定,可以使用變量來(lái)改變其

17、他界面元素狀態(tài)來(lái)表示觸發(fā)過(guò)程。Slider 目標(biāo)點(diǎn):當(dāng)起始點(diǎn)的 x,y 點(diǎn)落入 EndPo目標(biāo)區(qū)域矩形時(shí),達(dá)到觸發(fā)位置,此時(shí)松開(kāi)手指即可以產(chǎn)生觸發(fā),可以有多個(gè)觸發(fā)目的。NormalSe!- showPressedSition if pressed trying to unlock-e!- show specified image when reached, if touch up then perform unlock-Pathition x= y= / ition x= y= /例子:Path ition x=31 y=0 /ition x=359 y=0 /EndPo Slider 的en

18、t 也可以為 Trigger 和d,一個(gè) Trigger 可以有多個(gè)d。Trigger和d 請(qǐng)見(jiàn) Trigger &dUnlocker 繼承 Slider,以上用法只需把 tag 名的 Slider 改為 Unlocker.鎖屏音效StartPo: normalSound, pressedSound ,指定在 normal 和 press 狀態(tài)的音效EndPo: reachedSound, 到達(dá)該 endpo后的音效按鈕按鈕元素可以用來(lái)接收點(diǎn)擊,雙擊等事件,并可根據(jù) trigger 的定義來(lái)控制界面上其他元素。按鈕元素也可以將事件傳遞給界面上其他元素,來(lái)使其他元素響應(yīng)用戶在鎖屏界面上的操作。所

19、有元素增加 name 屬性,按鈕的控制對(duì)象通過(guò) name 來(lái)指定。x, y, w, h 指定了按鈕區(qū)域。一個(gè) Button 可以有若干個(gè) trigger,trigger 定義了按鈕動(dòng)作相關(guān)的操作,如控制某元素的屬性action: 按鈕動(dòng)作: down (按下), up (抬起), double (雙擊): 控制目標(biāo)名property: 屬性名,目前支持:visibility 以后會(huì)增加其他屬性控制。value: 屬性值,目前針對(duì)有: true, false, toggle通常用 button 控制的目標(biāo)有三類(lèi),分別是可見(jiàn)性控制,動(dòng)畫(huà),以及執(zhí)行命令,簡(jiǎn)單演示:Triggerdd=test.vis

20、ibility value=true/false=test.animation value=playmand name=test1 expres=0關(guān)于命令在后面會(huì)有詳細(xì)的介紹Button 元素的 xml 結(jié)構(gòu):.Trigger &dd基礎(chǔ)命令,可以通過(guò)對(duì)象名和對(duì)象的屬性來(lái)控制界面里的其他元素。通??刂频氖窃氐目梢?jiàn)性(visibility)和動(dòng)畫(huà)(animation)。iamge1 是被控制對(duì)象的名字,“.”后面跟的是屬性(目前支持 visibility 和 animation)??刂瓶梢?jiàn)性的時(shí)候,value 里面寫(xiě) true 或者 false,控制動(dòng)畫(huà)的時(shí)候,value 寫(xiě) play(目前不支持讓動(dòng)畫(huà)暫停)condition 是條件判斷,支持表達(dá)式。當(dāng) condition 里的條件判斷為真時(shí),執(zhí)行命令;為假時(shí),不執(zhí)行。delay 是延遲,以毫秒記。該命令后延遲一段時(shí)間再執(zhí)行delayCondition 是延時(shí)判斷,在 delay 的時(shí)間之后再進(jìn)行判斷。例子:/ second40 時(shí),延時(shí) 2000ms 執(zhí)行/ 延時(shí) 6000ms 后,如果 second40,執(zhí)行/ second40 時(shí),延時(shí) 4000ms,此時(shí)如果 second40,執(zhí)行mand變量命令,用來(lái)控制變量(Var)的值。包括 name 和expr

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論