[quake]?搖晃嗎?>( ゚ω゚ s)
(k ゚∀゚)<[quake]的功能是畫面搖晃,其用途十分廣泛。不少場景都會使用到。
(k ゚∀゚)<使用[quake]時有一個不能省略的屬性time,time控制著搖晃的時間,其單位有兩種,一是毫秒(ms),二是文字數。
文字數?time怎樣看都是時間,怎會跟文字扯上關係?>( ゚ω゚ s)
(k ゚∀゚)<這是因為[quake]提供兩種方式來設定持續時間,一個是以time所設定時間來計算,另一個是指定數量的文字顯示所消耗的時間來計算。即是文字顯示速度乘為time所指定的數值。
可是我怎樣設定我用哪一個方式?>( ゚ω゚ s)
(k ゚∀゚)<設定時可以用[quake]的timemode指定其方式,若果省略了timemode的話,吉里吉里會按照指定Config.tjs 中的defaultQuakeTimeInChUnit 所設定的來決定。
(k ゚∀゚)< timemode可接受的值有兩個,一是ms,以time所設定時間來計算,另一個是delay,以文字數量來設定。以下是範例。
[position page=fore layer=message0 left=0 top=320 height=160 width=640] [image storage="bg2" page=fore layer=base] 點一下後開始搖晃,timemode=ms,time=3000。 [p][cm] [quake time=3000 timemode=ms] 搖晃中[p][cm] 點一下後開始搖晃,timemode=delay,time=100。 [p][cm] [quake time=100 timemode=delay] 搖晃中 |
(k ゚∀゚)< 範例裡用了這兩種方式,前者是timemode=ms,持續時間是3000ms,即是3秒。後者是timemode=delay,持續時間會因文字速度而定,在沒有修改Config.tjs的情況下,「高速」時持續時間是10x100=1秒,「普通」時持續時間是30x100=3秒,「遅い」時持續時間是50x100=5秒。
我總覺得搖晃幅度太小,幅度可以大一點嗎?>( ゚ω゚ s)
(k ゚∀゚)< 搖晃的幅度可以透過hmax和vmax設定,hmax 是設定橫向最大的幅度,vmax 是設定垂直最大的幅度。以pixel為單位,預設值是10。以下是範例。
[position page=fore layer=message0 left=0 top=320 height=160 width=640] [image storage="bg2" page=fore layer=base] 點一下後開始搖晃,vmax=30,hmax=0。 [p][cm] [quake time=3000 vmax=30 hmax=0] 搖晃中[p][cm] 點一下後開始搖晃,vmax=0,hmax=30。 [p][cm] [quake time=3000 vmax=0,hmax=30] 搖晃中 |
(k ゚∀゚)<在上述的範例中,其中一個數值被設定為0,前者是垂直搖晃,後者是橫向搖晃。
我有問題! 為什麼我在搖晃時可以繼續點下去,而且不等待第一個[quake]結束就開始第二個。>( ゚ω゚ s)
(k ゚∀゚)<這個情況是可以防止的,[quake]有一個對應的功能[wq],[wq]是等待[quake]結束才繼續,以下是範例。
[position page=fore layer=message0 left=0 top=320 height=160 width=640] [image storage="bg2" page=fore layer=base] 點一下後開始搖晃。 [p][cm] [quake time=3000] 搖晃中[wq] [p][cm]搖晃結束 |
(k ゚∀゚)<以上是範例可以看到,[wq]等待[quake]結束後,才繼續執行[p][cm]。
(k ゚∀゚)<[wq]有一個屬性canskip,可以設定[wq]可否被skip略過,若果是true,當玩家點擊滑鼠時,[wq]會直接把[quake]結束,不會等待[quake]結束。反之若果是false,玩家必須等待[quake]結束才繼續。
如果我不想等待它,可不可以直接結束搖晃效果?>( ゚ω゚ s)
(k ゚∀゚)<當然可以,在這種情況,你可以使用[stopquake]直接結束搖晃效果。以下是範例。
[position page=fore layer=message0 left=0 top=320 height=160 width=640] [image storage="bg2" page=fore layer=base] 點一下後開始搖晃。 [p][cm] [quake time=3000] 搖晃中[p][cm] [stopquake] 搖晃結束 |
(k ゚∀゚)<今回內容比較短,不過大致上介紹完[quake],下次再見吧。
如果我要把quake放去無限直到[stopquake]爲止該怎麽寫?
回覆刪除雖然我之前說[quake]的屬性time是不能省略(連吉里吉里官方的文件也是這樣說),
刪除不過如果有看過MainWindow.tjs裡quake的定義,
就會發現只要不設定屬性time的值,
[quake]的效果就可以永遠繼續下去,
直到執行[stopquake]為止。
[wq]有一個屬性canskip,可以設定[wq]可否被skip略過,這句中
回覆刪除canskip需要至哪裡設定T還是F?
gestioWtia_ri Adrian Viher https://wakelet.com/wake/ETwZTrryFiRZq5pznh0HI
回覆刪除almeseari