最近在做乙個小遊戲開始的時候需要用到倒計時的效果,具體效果為每秒顯示3,2,1,go,然後字型由大到小,透明度由淺到深。下面介紹三種方法。
1.最直接的方法,自己寫倒計時的函式,開協程改變字型大小和透明度,這種方法較為簡單,下面是我寫的**,其中state為需要改變的text的text元件
public void waitforbegin(int time)2.使用dotween,dotween是乙個unity外掛程式,主要用於做ui動畫,具體的使用方法可以參考官網的文件dotween官方文件,下面給出使用dotween的**。值得注意的是,使用dotween要特別注意函式執行次序,因為本質上這些函式也是協程,只不過給你封裝好了,如果沒有進行判斷結束,很可能導致意想不到的結果,這點相比於方法1,雖然看起來簡潔一點,但是用起來要花很多心思。ienumerator waitforbegin(int time)
second = 1f;
time--;
state.color +=color;
state.fontsize = statefontsize;
}state.text = "go";
while (second > 0)
state.fontsize = statefontsize;
}
ienumerator waitforbegin(int time)3.使用動畫,這種方法比較推薦。因為實際上這種倒計時的動畫不會和場景中的任何物件產生互動,除了動畫結束需要乙個通知外,完全與遊戲無關。而且製作起來也很方便。下面介紹這種方法。else
scale = transform.doscale(5, 1).from();
fade = statetext.dofade(0, 1).from();
}yield return new waitforendofframe();}}
首先建立乙個用於展示的ui物件,型別為text。為text新增animation元件,這個animation就是倒計時的動畫。
點選create,建立乙個新的clip,選擇儲存的路徑和名稱後,點選add property,如圖
這裡我們需要改變的是字型的透明度,所以點開text,新增color屬性。
接下來就是關鍵步驟了,展開color屬性我們可以看到r g b a,這個就是每一幀屬性值,我們就是通過修改關鍵幀的屬性值,來達到動畫的效果。比如我們想讓字型顏色1秒內由淺到深,也就是rgba中的a值從0變化到1,那麼可以在0幀的時候將a值設定為0,60幀的時候將a值設定為1。
可以通過紅圈裡面的值快速定位到關鍵幀
這個時候第一秒的漸變效果就做好了,把這個animation clip拖入text的animation元件的animation中,點選開始遊戲,可以看一下效果。
其實到這裡基本的思路就講完了。剩下的2和1基本上是一樣的,字型大小的話這裡可以改變rect transfrm裡面的scale屬性來實現。
最後就是如何改變文字內容,這裡其實需要新增乙個事件,可以在60幀的時候改變,也可以在61幀的時候改變,具體看個人喜好。
選擇第60幀,右鍵點選add animation event,或者點選左邊的符號新增事件
此時在inspector檢視中會出現乙個animation event,選擇function set_text,string填入2就可以實現了。
順便說一下,改變字型大小也可以在這裡設定set_fontsize,具體看個人需求。
下面總結一下動畫的思路,0幀設定內容為3,透明度為0,scale為3,60幀設定透明度為1,scale為1;61幀設定內容為2,透明度為0,scale為3,120幀設定透明度為1,scale為1,依次類推,就可以實現倒計時動畫啦。
iOS倒計時動畫
效果圖 製作成gif之後,幀率變快了,看起來很彆扭,實際上是每秒執行一次的 h 檔案 inte ce countdownview uiview property nonatomic,assign long long time property nonatomic,assign,readonly lo...
倒計時 心跳倒計時
我從悶熱的午後醒來,可還是頭痛得厲害,睡意再次湧上心頭,我告訴自己不能再昏睡下去,於是決定出門去清醒一下。現在的天氣雖說有些燥熱,但是陰涼處還是比較涼爽,我慢慢地走,接著慢跑了起來,夕陽散發著最後一縷餘暉。我邊看著眼前的城市邊際的美景邊深呼吸著,隨著耳機裡傳來的 律動著。突然有個聲音從我腦海裡響起,...
js倒計時,秒倒計時,天倒計時
html 1 html 2 距某某開幕式還有 天 html html html id timer style color red 這次利用系統時間自校驗倒計時,無需手工調校使得倒計時更為精確,及詳細注釋如下 id clock 00 01 11 00 id startb type button val...