2017-05-30 209 views
0

嗨我試圖使用Unity的光標API來更改光標,例如,從玩家的庫存中拖動一個項目。光標確實會改變,但由於抗鋸齒(假定),圖像模糊。該圖像是一個簡單的16x16精靈,在遊戲世界中顯示時不會消除鋸齒,而是在顯示爲光標時顯示。有什麼辦法可以關閉遊標的抗鋸齒功能嗎?另外,當我在編輯器外部運行遊戲時,光標圖像看起來根本不起作用 - 它只是顯示一些小的破折號或一些靜態的。光標紋理反鋸齒和問題

我設置光標的方法是,像這樣:

texture = itemImg.sprite.texture; 
Cursor.SetCursor(texture, Vector2.zero, CursorMode.Auto); 

哪裏itemImg是處理拖動(庫存插槽)

任何幫助或建議表示讚賞的UI圖像。如果它會出現這些問題,我應該拋棄Cursor API嗎?謝謝。

回答

0

我在使用Cursor API時遇到了問題。雖然在調用之前有些事情需要嘗試,但「光標圖像根本不起作用」有一個錯誤。

  • 確保光標紋理類型設置爲光標
  • 設置過濾器模式點(無過濾器)
  • 最後,將壓縮設置爲高質量

enter image description here

需要注意的是你的代碼:

texture = itemImg.sprite.texture; 

表明Texture您正在使用未設置爲光標爲紋理類型。定義要使用的Texture,然後按照上述步驟進行紋理的正確設置。不要使用UI圖像作爲鼠標光標的來源。

public Texture2D texture; 
Cursor.SetCursor(texture, Vector2.zero, CursorMode.Auto); 

如果這些不解決您的問題,使用CursorMode.ForceSoftware代替CursorMode.Auto

最後,假設你仍然有Cursor API的問題,放棄它,只需將SpriteRenderer位置設置爲鼠標位置,製作一個假光標。

yourSprite.position = Camera.main.ScreenToWorldPoint(Input.mousePosition); 

現在,您可以控制鼠標指針的質量。