[方法] 《鸣潮》/《原神》呼出与锁定光标的功能细节

本方法适用于Cinemachine - FreeLook。

1. 锁定与呼出光标的功能实现

// 锁定光标
private void LockMouse() {
    // 将光标锁定在屏幕中间
    Cursor.lockState = CursorLockMode.Locked;
    // 隐藏光标
    Cursor.visible = false;
}


// 呼出光标
private void UnLockMouse() {
    // 释放光标
    Cursor.lockState = CursorLockMode.Confined;
    // 显示光标
    Cursor.visible = true;
}

2. Alt键对光标控制

2.1 基本逻辑

private void MouseControl() {
    if (Input.GetKeyDown(KeyCode.LeftAlt)) {
        // 在游戏中仅使用光标
        UseMouseCursorOnly();
    } else if (Input.GetKeyUp(KeyCode.LeftAlt)) {
        // 在游戏中关闭光标
        CloseMouseCursor();
    }
}

2.2 《鸣潮》/《原神》中的细节

public void UseMouseCursorOnly() {
    UnLockMouse(); // 释放光标
    inputControl.Disable(); // 关闭键盘输入 (鸣潮是这样,但原神不是)

    // 停止利用鼠标转动镜头 
    FreeLook_Camera.m_XAxis.m_InputAxisName = "";
    FreeLook_Camera.m_YAxis.m_InputAxisName = "";
    FreeLook_Camera.m_XAxis.m_InputAxisValue = 0;
    FreeLook_Camera.m_YAxis.m_InputAxisValue = 0;
}

public void CloseMouseCursor() {
    LockMouse(); // 锁定光标
    inputControl.Enable(); // 启动键盘输入

    // 重新启动鼠标对镜头的控制
    FreeLook_Camera.m_XAxis.m_InputAxisName = "Mouse X";
    FreeLook_Camera.m_YAxis.m_InputAxisName = "Mouse Y";
}

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值