[Unity3d]定义自己的鼠标
[Unity3d]自己定義鼠標
我們在用unity3d開發自己的游戲的時候。自己定義游戲中的鼠標也是常常要用到的。那我就得學學。事實上原理非常easy,先將鼠標給隱藏,然后在鼠標的位置上畫出一個自己定義的鼠標貼圖,這樣看起來就像一個自己定義的鼠標。當然我這里利用的是跨平臺方案,Unity的GUI效率不高。假設我們要用特定的某個平臺的自己定義鼠標,那就去用特定的接口函數,這樣效率會高一點。這里我寫的就是一個跨平臺方案,一種通用的方法。
舉例:
假設是windows平臺的話,我們假設要隱藏鼠標就用SetCursor()這種方法,
注意:
1.GUI坐標系的原點是在左上角,而屏幕坐標系採用的是一種OpenGL坐標系原點是在左下角,所以這就存在一個坐標轉換的問題!
2.update()和FixedUpdate()的差別:
Update() 和 FixedUpdate()在游戲中都會在更新的時候自己主動循環調用。
可是Update是在每次渲染新的一幀的時候才會調用,也就是說,這個函數的更新頻率和設備的性能有關以及被渲染的物體(能夠覺得是三角形的數量)。在性能好的機器上可能fps 30,差的可能小些。
這會導致同一個游戲在不同的機器上效果不一致,有的快有的慢。由于Update的運行間隔不一樣了。
而FixedUpdate,是在固定的時間間隔運行。不受游戲幀率的影響。
有點想Tick。
所以處理Rigidbody的時候最好用FixedUpdate。
PS:FixedUpdate的時間間隔能夠在項目設置中更改。Edit->Project Setting->time ?找到Fixed timestep。就能夠改動了。
操作:
1.隱藏鼠標是:Screen.showCursor = false;
2.顯示自己定義鼠標
[csharp]?view plaincopyprint?
效果:
總結
以上是生活随笔為你收集整理的[Unity3d]定义自己的鼠标的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 20150827-Y1506401-19
- 下一篇: unordered_map自定义key