書名: Unity3D高級編程:主程手記作者名: 陸澤西本章字數(shù): 367字更新時間: 2022-01-07 14:46:25
4.3.1 UGUI事件系統(tǒng)源碼剖析
Unity3D公開了大部分UGUI系統(tǒng)源碼,除了渲染和網(wǎng)格合并算法外,組件邏輯也已經(jīng)公開。下面剖析UGUI系統(tǒng)在Unity 2017中的公開源碼。
圖4-1為UGUI內(nèi)核源碼的文件夾結(jié)構(gòu)圖。它把UGUI系統(tǒng)分為輸入事件、動畫、核心渲染三部分。

圖4-1 UGUI內(nèi)核源碼的文件夾結(jié)構(gòu)圖
其中動畫部分相對比較簡單,采用tween補間動畫的形式對顏色、位置、大小進行了漸進的操作。tween的原理是啟動一個協(xié)程,在協(xié)程里對元素的屬性進行漸進式修改,除了修改屬性數(shù)值,tween還設(shè)置了多種曲線以供選擇,比如內(nèi)翻曲線、外翻曲線等,一個數(shù)值從起點到終點的過程可以通過曲線來控制。例如,數(shù)字從0到100的變化可在3秒內(nèi)完成,如果是線性,則在第2秒時的數(shù)值應(yīng)該如下:
(100-0)×(2f/3f)=200f/3f=66.666
如果使用內(nèi)翻曲線就不是這個結(jié)果了,但它們最終都會到達100,只是過程有點“曲折”,曲線也體現(xiàn)了動畫的“有趣”。
下面重點剖析輸入事件和核心渲染這兩部分。
推薦閱讀
- Mastering Visual Studio 2017
- 工程軟件開發(fā)技術(shù)基礎(chǔ)
- C++面向?qū)ο蟪绦蛟O(shè)計(微課版)
- 算法訓(xùn)練營:入門篇(全彩版)
- Functional Programming in JavaScript
- Python面向?qū)ο缶幊蹋簶?gòu)建游戲和GUI
- Learning OpenStack Networking(Neutron)
- Spring 5 Design Patterns
- Qlik Sense? Cookbook
- WebStorm Essentials
- Photoshop智能手機APP界面設(shè)計
- LabVIEW數(shù)據(jù)采集
- Learning Unreal Engine Game Development
- 算法超簡單:趣味游戲帶你輕松入門與實踐
- 從零開始學(xué)Unity游戲開發(fā):場景+角色+腳本+交互+體驗+效果+發(fā)布