unity 改变鼠标样式的两种方法

时间:2024-03-13 21:59:10

1、第一个直接改变鼠标样式

 1 public var cursorTexture:Texture2D;  
 2 private var changeFlag = false;  
 3 function Update(){  
 4     if(changeFlag){  
 5         Cursor.SetCursor(cursorTexture,Vector2.zero,CursorMode.Auto);  
 6     }else{  
 7         Cursor.SetCursor(null,Vector2.zero,CursorMode.Auto);  
 8     }  
 9 }  
10   
11 function OnGUI(){  
12     if(GUI.Button(Rect(10,10,100,50),"hand")){  
13         changeFlag = true;  
14     }  
15     if(GUI.Button(Rect(120,10,100,50),"arrow")){  
16         changeFlag = false;  
17     }  
18 }  

2、隐藏鼠标,在鼠标位置放一新图片

 1 public var cursorTexture:Texture2D;  
 2 private var changeFlag = false;  
 3   
 4 function OnGUI(){  
 5     if(GUI.Button(Rect(10,10,100,50),"hand")){  
 6         changeFlag = true;  
 7         Screen.showCursor = false;  
 8     }  
 9     if(GUI.Button(Rect(120,10,100,50),"arrow")){  
10         changeFlag = false;  
11         Screen.showCursor = true;  
12     }  
13     if(changeFlag){  
14         var mousePos = Input.mousePosition;  
15         GUI.DrawTexture(Rect(mousePos.x,Screen.height - mousePos.y,cursorTexture.width,cursorTexture.height),cursorTexture);  
16     }  
17       
18 }  

需要注意几点的是:用第一种方法中的鼠标图片要修改图片导入的属性,即在inspector中的Texture Type要改为Cursor,否则鼠标会显示不正常。

第二种方法中,在unity编辑器中运行的时候,当改变鼠标样式后,默认的鼠标箭头样式不会消失,但是发布之后就没有什么问题了

原文链接:https://blog.csdn.net/khdhzdx/article/details/38314053