Unity插件之NGUI學習(4)—— 創建UI2DSprite動畫


創建一個新的Scene。並按 Unity插件之NGUI學習(2)創建UI Root,並在UI Root的Camera下創建一個Panel。


然后在選中Panel,在菜單中選擇NGUI->Create->Unity 2D Sprite


查看Inspector窗體



接着是在Unity中制作Sprite:

在Project窗體創建Textures目錄。並從外部拖入一些圖片素材,然后選中須要轉成Sprite的圖片,然后在Inspector窗體進行轉變Sprite的操作,如圖。


選擇Sprite(2D/uGUI)就可以完畢轉變,圖片能夠多選。

然后在Hierarchy窗體選中先前制作的2D Sprite,在Inspector窗體中選擇先前制作的Sprite。



接着是UI2DSprite的動畫制作了。在Hierarchy窗體選中先前制作的2D Sprite,在菜單中選擇Component->Scripts->UI2DSprite Animation,然后在Inspector窗體對UI2DSprite Animation進行編輯。


Framerate 設置幀率

Ignore Time Scale 設置是否忽略TimeScale對動畫播放的影響

Frames 手動設置動畫播放的順序,可將先前制作的Sprite拖動到各個Element中去。

點擊播放button,就可以看到動畫效果。

只是看了下UI2DSpriteAnimation的源代碼,比較簡單,默認僅僅有循環播放,也沒有暫停和播放功能(與UISprinte Animation同樣)。只是這些都能夠通過簡單的代碼改動來添加這些功能。


UISprinte Animation與UI2DSprite Animation的差別

除性能考慮外,在我看來最大的差別在於動畫播放的每一幀圖片的控制不同。


UISprinte Animation全然是通過Name Prefix來控制每一幀圖片的。或者是制作單個Atlas的全部圖片。並且播放的順序全然是靠圖片名稱來排序的,所以在制作動畫是,每張圖片名稱最好以數字結尾,便於排序。並且假設同一張圖片須要在多個動畫中使用的話,好像UISprinte Animation就不能合理的使用,不知道大家有沒有好的建議。


UI2DSprite Animation的優勢在於能夠隨意設置每一幀動畫的圖片,可是它必須將每個單張圖片轉成Sprite,不知道是否在性能上有所劣勢。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM