[Unity3d]自定义鼠标-创新互联

我们在用unity3d开发自己的游戏的时候,自定义游戏中的鼠标也是经常要用到的,那我就得学学,其实原理很简单,先将鼠标给隐藏,然后在鼠标的位置上画出一个自定义的鼠标贴图,这样看起来就像一个自定义的鼠标。当然我这里利用的是跨平台方案,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.显示自定义鼠标

public Texture CursorTexture;  void OnGUI() { 	Vector3 mousePos = Input.mousePosition; 	//因为GUI坐标系原点是左上角,而屏幕坐标系原点是在左下角,所以要转换 	GUI.DrawTexture(new Rect(mousePos.x-CursorTexture.width/2,Screen.height - mousePos.y-CursorTexture.height/2,CursorTexture.width,CursorTexture.height),CursorTexture); }

效果:

[Unity3d]自定义鼠标

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网站栏目:[Unity3d]自定义鼠标-创新互联
链接地址:https://www.cdcxhl.com/article16/dscodg.html

成都网站建设公司_创新互联,为您提供虚拟主机企业网站制作网站改版软件开发面包屑导航品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司