我使用的是Unity4.x版本,有一次遇到了一个特别奇葩的问题,每次启动游戏之后,在编辑器的的任何地方任何输入框都看不到光标了,但是也不影响正常输入,不影响游戏逻辑。就这么凑合着用了几天非常难受,觉得解决一下。
首先想到是查日志,翻了一下SVN的日志比较多,没找到什么特别的改动。
然后想到一个线索,就是刚打开Unity是可以看到光标的,启动游戏之后就没了,所以就是启动入口开始跟代码。
最后终于找到是我们在使用TextureRender的时候每次都会新创建一张透明的Texture2D,为了和不遮挡后边的UI。
Texture2D tex = Texture2D.whiteTexture;
Color[] cols = tex.GetPixels();
for(int i =0, m = cols.Length; i < m; ++i) {
cols[i].a =0;
}
问题就是出在这里了,当把这张Texture2D的颜色设置为透明时,光标就消失了,太他妈的奇怪了,后来我的解决办法是在 UNITY_EDITOR 状态下不要设置为透明。。。