今天讲一点小知识,如何让某对象跟着鼠标移动呢,如何让鼠标箭头被隐藏,接下来我用代码来解释。(注意:我用的是NGUI创建的精灵,代码上定义精灵和unity自带的精灵有一丢丢区别)。spriteTest精灵就是用来演示的对象。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MouseControl : MonoBehaviour {
public UISprite spriteTest;
Vector3 mousePos; // 鼠标位置
// Update is called once per frame
void Update () {
GetMonsePos();
MoveTo(mousePos);
if (Input.GetMouseButtonDown(0)) {
Cursor.visible = true; //点击鼠标左键,显示鼠标箭头
}
if (Input.GetMouseButtonDown(1)) {
Cursor.visible = false; //点击鼠标右键,隐藏鼠标箭头
}
}
private void GetMonsePos()
{
mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); //获取鼠标的屏幕坐标,并转化成世界坐标
mousePos.z = 0;
}
// 精灵对象跟随鼠标移动
private void MoveTo(Vector3 mousePos)
{
spriteTest.transform.position = new Vector3(mousePos.x, mousePos.y, mousePos.z);
}
}