如何在 MacOS 中使用 C# 获取鼠标在屏幕上的位置?



在不使用Cocoa/XCode的情况下,有没有办法在C#(MacOS(中获取鼠标光标的位置?它需要与 Unity 兼容。

取自 https://docs.unity3d.com/ScriptReference/Input-mousePosition.html

using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public GameObject particle;
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray))
Instantiate(particle, transform.position, transform.rotation);
}
}
}

或取自 https://stackoverflow.com/a/46999239/12808204

//the object to move
public Transform objectToMove;
void Update()
{
Vector3 mouse = Input.mousePosition;
Ray castPoint = Camera.main.ScreenPointToRay(mouse);
RaycastHit hit;
if (Physics.Raycast(castPoint, out hit, Mathf.Infinity))
{
objectToMove.transform.position = hit.point;
}
}

或者,如果您正在寻找更具体的操作系统 API 实现,不一定是为了统一,请查看在 Mac OS X 中获取"全局"鼠标位置 不是那个人,但至少在制作问题线程之前尝试谷歌它。这些都是顶级谷歌结果。

最新更新