我的代码中有一个错误:当我将鼠标从屏幕上释放时,统一无法检测到“GetMouseButtonUp”,当我将释放的鼠标移回屏幕时,它会检测到“GetMouseButton”不应该。
所以当鼠标离开屏幕时,我想要模拟发送鼠标向上事件让团结检测“GetMouseButtonUp”。
如何模拟鼠标事件?
答案 0 :(得分:1)
伪代码
bool mouseIsDown = false;
public void Update()
{
Rect screenRect = new Rect(-Screen.width/2, -Screen.height/2, Screen.width, Screen.height);
If(screenRect.Contains(Input.mousePosition))
{
if(mouseIsDown && !Input.GetMouseButton(0))
OnMouseUp();
if(Input.GetMouseButton(0))
{
OnMouse();
if(!mouseIsDown)
{
OnMouseDown();
mouseIsDown = true;
}
}
}
}
public void OnMouseDown()
{
// Do something
}
public void OnMouse()
{
// Do something
}
public void OnMouseUp()
{
// Do something
}
答案 1 :(得分:-1)
我不确定我是否正确理解你的问题。但是,您可以像使用Start()
Update()
Awake()
等功能一样使用这些功能
void OnMouseUp () {
}
void OnMouseDown (){
}