[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);
}

效果:

时间: 2024-09-24 01:43:31

[Unity3d]自定义鼠标的相关文章

Win7系统自定义鼠标指针图案怎么设置

  Win7系统自定义鼠标指针图案怎么设置          1.右键点击win7纯净版系统桌面空白位置处,然后在弹出的菜单上选择"个性化",打开个性化窗口; 2.在Win7系统个性化窗口上,点击左侧中的"更改鼠标指针"项.然后在打开的鼠标属性窗口上,点击指针项,再双击自定义列表中的项,根据喜好选择鼠标图案; 3.选择完成后,再点击确定和应用按钮保.

Win8系统下如何自定义鼠标指针让其更个性

  Win8在视觉样式上有了很大的变化,但鼠标指针依旧是延续以往的默认风格.对于追求个性化的用户来说,自定义鼠标指针是很重要的.这该如何操作? 操作步骤 1.在桌面点击右键,选择个性化. 主题包"> 2.个性化窗口中,选择更改鼠标指针. 3.在鼠标属性中就行设置. 3.点击确定,完成操作. 除了系统颜色.背景等元素,鼠标指针也是体现个性化的关键部分,有需要的用户赶紧进行设置吧.

Unity3D实现鼠标对物体进行移动,旋转,缩放

问题描述 Unity3D实现鼠标对物体进行移动,旋转,缩放 现在想实现一个功能,当进入unity运行模式时,用鼠标点击需要观察的物体,使物体上出现坐标轴,方法缩小轴,旋转球(就是和编辑模式下是一样的),通过对这些坐标轴的控制可以实现对物体进行,移动,旋转,缩放!挺急的!小弟穷逼了!希望大神帮忙解惑!小弟在此谢过! 解决方案 http://www.cnblogs.com/fortomorrow/archive/2012/10/30/unity05.html 解决方案二: unity3d鼠标移动.旋

[unity3d]自定义loading界面和浏览器的全屏显示

将做好的unity项目发布成web版本,打开后发现出现的是自定义的unity的loading界面,如果修改成我们自己的的logo图案和加载进度条. 操作步骤:                                                                                              1.在发布的时候勾选上两项 2.用DW打开html文件,修改一些配置信息 1.如果是3.5版本 <script type="text/javascr

Win8如何自定义鼠标指针形状?(680Z5E系列)

1. 在桌面空白处,点击鼠标右键,选择[个性化].   2. 进入个性化后,选择左侧的[更改鼠标指针].   3. 在鼠标属性中选择[指针]选项.    4. 选择自定义列表中的[正常选择],然后点击右下方的[浏览].   5. 此时会出现鼠标指针外观列表,如下图:    6. 选择自己喜欢的外观,点击右下方的[打开].   7. 此时鼠标指针形状已经更改,点击下方的[确定]即可.   

css中cursor自定义鼠标形状

css中能把cursor变成抓手样的形状,注意不是超链接的那种手,是抓手 css:{cursor:url('绝对路径的图片(格式:cur,ico)'),-moz-zoom-out;}//FF下面 css:{cursor:url('绝对路径'),auto;}//IE,FF,chrome浏览器都可以 例子  代码如下 复制代码 .style1{  cursor: url('http://你地网站/手抓.jpg'); } 补充: 问题一 浏览器不兼容问题:   在FF火狐中可以很正常的显示出来,而在I

自定义鼠标双击事件的缺陷及改善

鼠标 昨天晚上想写个鼠标双击事件,总感觉以前见过这个代码(最后想起来好象是JS里面的--)按习惯写了个onDbClick,发现居然不变色?!晕了,于是改onDoubleClick.onDouble--等等都不变色,FLASH难道没有定义这个事件?!气愤中,去查帮助,里面果然没有-- 然后就上来搜了闪吧里有关鼠标双击的帖子,一看N多啊,都是自己写函数实现的(再次气愤),不过还是HOLYBOZO的代码是最简洁的,于是拖下来用了.用的时候就发现问题了,只要在延迟以内,我狂点10次就触发了9次事件,而按

基于jquery的自定义鼠标提示效果 jquery.toolTip_jquery

IE下效果 Firefox或其它浏览器效果 代码 复制代码 代码如下: //版权 酷车中国 www.kuchechina.com //作者 逐月 zhuyue.cnblogs.com //演示 http://www.kuchechina.com/carstools/Default.aspx jQuery.fn.toolTip = function() { this.unbind().hover( function(e) { this.t = this.title; this.title = ''

使用jquery自定义鼠标样式满足个性需求_jquery

1.浏览器自带的鼠标样式:  2.如果某些时候为了保持鼠标样式的统一,或者想指定特定的鼠标样式该怎么办呢? 复制代码 代码如下: $('#divContainer').css('cursor', 'url(../Images/CrimeAnalysis/ThematicMap/grab.cur), move'); 将移到某个div或者元素上的鼠标样式修改成某个指定的.cur文件就可以了.