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 ...
随机推荐
- python内存数据库pydblite
Pure-Python engine 最近由于项目开发中发现python informixDB模块对多线程的支持非常不好,当开启两个线程同时连接informix数据库的时候,数据库会报错,显示SQL ...
- Expm 1_2 实现快速排序的算法,并尝试采用不同的方法实现线性的划分过程.
package org.xiu68.exp.exp1; public class Exp1_2 { //实现快速排序算法,采用不同的方法实现线性划分的过程 public static void mai ...
- java多线程快速入门(十六)
ThreadLocal关键字实现每个线程有自己的变量 package com.cppdy; class Number { private int num; public static ThreadLo ...
- PE文件版本那些事儿
发现文件的版本号很有意思,win7下右键属性显示两个版本号,分别是File Version 和 Product version.但使用vs编辑版本资源里面却有四处版本号,如下: 发现有以下区别,上面为 ...
- ef 数据库连接字符串加密
public testContext() : base(GetConnection(), true) { } public static DbConnection GetConnection() { ...
- noip2016 天天爱跑步
没看过正解..应该是些乱七八糟想不出来的东西 解法1: 首先,必须要做的是将每条路径拆成2个直的路径 那么对于那条从深度大的到深度小的路径 dep[x]-dep[y]应该等于观察时间 那么就可以在这些 ...
- HTML页面滚动时获取离页面顶部的距离2种实现方法
获取离滚动页面的顶部距离有两种方法一是DOM:而是jquery,具体的实现如下,感兴趣的朋友可以尝试操作下 方法一:DOM 复制代码 代码如下: <script> window.o ...
- BZOJ1845 [Cqoi2005] 三角形面积并 扫描线 计算几何
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1845 题意概括 给出n个三角形,求其面积并. 题解 有一个很经典的扫描线题目:矩形面积并.那个比较 ...
- 【Java】 剑指offer(65) 不用加减乘除做加法
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×. ...
- my作业
学号:2017xxxxxx 我是吴登峰,我的爱好是音乐,看电影,玩游戏! 我的码云个人主页是:https://gitee.com/fengaa 我的第一个项目地址是:https://gitee.com ...