2014-09-25 60 views
0

對於改變光標我用這個:Unity3d動畫光標

UnityEngine.Cursor.SetCursor(CursorTexture, 
new Vector2(CursorTexture.width, CursorTexture.height) * 0.5f, 
CursorMode.ForceSoftware); 

我想要的東西發生在動畫光標。

是否可以使用Cursor.SetCursor來初始化遊標?

+0

爲什麼不可能這樣?只要按設定的時間間隔更改光標,您已經有了這樣的代碼。 – LearnCocos2D 2014-09-25 09:59:02

+0

我創建了18個圖像(旋轉10度)。我嘗試使用這種方法,但是當我在瀏覽器中運行遊戲時,遊標不旋轉,但在編輯器中它有效。 公共的IEnumerator AnimateCursor() { \t \t而(真) \t \t { \t \t如果(this.IsAnimatable(this.Cursor)) \t \t { \t \t cursorIndex ++; \t \t var t = GetTexture(this.Cursor,this.cursorIndex); \t \t \t \t如果(T == NULL) \t \t \t \t { \t \t \t \t \t cursorIndex = 0; \t \t \t \t \t t = GetTexture(this.Cursor,this.cursorIndex); \t \t \t \t} \t \t \t \t this.SetCursorTexture(T); \t \t \t} \t \t \t收率返回新WaitForSeconds(0.1F); \t \t} \t} – Oksana 2014-09-26 03:14:58

+0

也許存在其他方法,我可以使用一個圖像(許多圖像istead)。 – Oksana 2014-09-26 03:20:49

回答

0

你可以像LearnCocos2D所說的那樣做。問題在於它會閃爍很多,而你最可能遇到的另一個問題是鼠標指針會很慢。這是因爲軟件鼠標指針不是由硬件渲染的,所以它總是在指針設備上的實際用戶輸入之後的兩幀。

然後,爲了使動畫紋理在網絡瀏覽器上工作,您需要確保導出所需的着色器,如果您的網絡播放器項目的資源文件夾上有任何內容,因爲許多着色器沒有被導出到Web構建默認。如果您使用標準漫反射,它應該可以工作,但我認爲對於鼠標指針,因爲它很可能使用透明度,所以默認情況下它可能不起作用。您需要查找正在使用的實際着色器,並通過手動將其導出用於構建。

Unity至少應該在PC上支持硬件動畫光標,但可惜它不會...