Unity 鼠标个性化
最初的版本,API是可以直接设置鼠标显示与否的,新版本就改了,先上下旧店的版本的;
1.思路:
- 在某些游戏下,经常会隐藏鼠标,或者有绚丽的动画来代替鼠标显示。
- 原理就是将鼠标隐藏(不显示)起来,设置一个sprite的坐标为鼠标坐标即可。当然代码要放到 Update里才行。
- 注意事项:此脚本不能挂在Camera上,否则会出现鼠标闪烁的情况。
顺带贴上一个之前的脚本:

实例代码:
public dfGUICamera Camera;
public dfSlicedSprite sprite;
public float value = 0f; void Update()
{
//隐藏鼠标
Screen.showCursor = false;
sprite.transform.position = Camera.camera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,Input.mousePosition.z));
}
2.首先,用来做鼠标个性化的图片,格式要是Cursor;见下图:

第二步:脚本挂载,写脚本;将默认的和点击时的鼠标图,拖拽进去即可;
public Texture2D norT;
public Texture2D pressT;
private Vector2 hotspot;
void Start () {
//Screen.showCursor = false;//outofDate
//Cursor.SetCursor(norT, hotspot, CursorMode.Auto);
}
private void Update()
{
if (Input.GetMouseButton())
{
Cursor.SetCursor(pressT, Vector2.zero, CursorMode.Auto);
//Cursor.SetCursor(pressT, hospot, CursorMode.Auto);
//hotspot:The offset from the top left of the texture to use as the target point (must // be within the bounds of the cursor). 默认选择Vector2.zero
//从纹理顶部的偏移量作为目标点(必须//位于游标的范围内)
}
else
{
Cursor.SetCursor(norT, Vector2.zero, CursorMode.Auto);
}
}
简单说下, 上面的方法里实现了鼠标左键点击就会把鼠标的图设置成对应的图片。
代码里cursorMode = CursorMode.ForceSoftware;这个模式是说当鼠标改变了以后,鼠标移到Unity窗口外(例如你打开一个别的软件)Unity里的鼠标依然不会消失而且是设定的图标。
若cursorMode = CursorMode.Auto这种模式,鼠标样式只有一个,当你移到Unity窗口外,Unity里就没有鼠标了。
Unity 鼠标个性化的更多相关文章
- unity鼠标拖动物体旋转
using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> / ...
- Unity 鼠标控制视角功能和动画播放冲突解决办法
环境是 unity 5.6.4 情况说明: 1 模型动画单独播放是没问题的. 2 鼠标控制模型是没问题的. 3 在start中播放模型动画,即使鼠标控制视角代码还挂载着,但是模型却无法用鼠标旋转等操作 ...
- [Unity菜鸟] Unity鼠标双击,鼠标函数整理(未完)
1. 鼠标双击 void OnGUI() { Event Mouse = Event.current; if (Mouse.isMouse && Mouse.type == Event ...
- 【狼】unity 鼠标拖拽物体实现任意角度自旋转
主要涉及函数 Input.GetAxis(“Mouse x”) 可取得鼠标横向(x轴)移动增量 Input.GetAxis(“Mouse y”) 可取得鼠标竖向(y轴)移动增量 通过勾股定理获取拖拽长 ...
- Unity 鼠标点击左右移动,人物跟随旋转
上代码: using UnityEngine; using System.Collections; public class Test : MonoBehaviour { private Vector ...
- unity, 鼠标与场景交点
在鼠标与场景交点上放一个mark,并于1s后消失: 新建一个空GameObject,命名为moushHitTest,添加下面脚本: using UnityEngine;using System.Col ...
- Unity鼠标移动到物体上显示信息
相信大家玩游戏的时候,鼠标移动到游戏装备上,都会显示装备的的具体信息,那么接下来就写代码把,废话不多说. 下面是 效果图 鼠标移动到装备位置显示的信息,鼠标移动不在装备区域后不现实信息,下面是代码 : ...
- unity鼠标滚轮控制摄像机视野的缩放和按住鼠标控制摄像机移动
//摄像机前进后退的速率 private float view_value=20f; private float maximum = 100; private float minmum = 30; / ...
- Unity 鼠标旋转物体360展示
PC端 using UnityEngine; using System.Collections; public class DragRound : MonoBehaviour { public Tra ...
随机推荐
- Linux中涉及到计算优先级及其他问题
比如计算矩形周长: a= b= echo `expr \* $((a+b))` 1.expr外要使用反引号,且expr只支持整数计算,如果涉及到浮点数计算要采用下面方法 2.优先计算a+b时,要使用双 ...
- Javascript构造函数的继承
仅供学习参考,原文链接:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance.html 今天要介绍 ...
- ThinkPHP使用不当可能造成敏感信息泄露
ThinkPHP在开启DEBUG的情况下会在Runtime目录下生成日志,如果debug模式不关,可直接输入路径造成目录遍历. ThinkPHP3.2结构:Application\Runtime\Lo ...
- Python-css高级
1. 伪类和伪元素 1. 伪类 1. :link 2. :visited 3. :hover (重要) 4. :active 5. :focus(input标签获取光标焦点) 2. 伪元素 1. :f ...
- CSS Zoom属性
CSS中 Zoom属性 介绍 其实Zoom属性是IE浏览器的专有属性,Firefox等浏览器不支撑.它可以设置或检索对象的缩放比例.除此之外,它还有其他一些小感化,比如触发ie的hasLayout属性 ...
- C++ code:char pointers and char arrays(字符指针与字符数组)
C-串的正确赋值.复制.修改.比较.连接等方式. #include<iostream> #pragma warning(disable: 4996)//这一句是为了解决“strrev”出现 ...
- Spring集成shiro做登陆认证
一.背景 其实很早的时候,就在项目中有使用到shiro做登陆认证,直到今天才又想起来这茬,自己抽空搭了一个spring+springmvc+mybatis和shiro进行集成的种子项目,当然里面还有很 ...
- 遍历DOM树
遍历DOM在jQuery中是非常重要的技术. 遍历DOM之前,需要对DOM有清晰的认识,了解文档节点.元素节点.属性节点.文本节点等相关概念.不清楚可以温习下<JavaScript教程.DOM树 ...
- Javascript中的反射机制(五)
一: 什么是反射机制 反射机制指的是程序在运行时能够获取自身的信息.例如一个对象能够在运行时知道自己有哪些方法和属性. 二: 在JavaScript中利用for(…in…)语句实现反射 在JavaSc ...
- POJ 3614 Sunscreen (优先队列)
题意:奶牛美容:有C头奶牛日光浴,每头奶牛分别需要minSPF_i和maxSPF_i单位强度之间的阳光.现有L种防晒霜,分别能使阳光强度稳定为SPF_i,其瓶数为cover_i.求最多满足多少头奶牛 ...