【按键处理】按键长按(抬起时,长按生效)。【小杂志】

主要思路: 
        1.检测下降沿(按下按键),{ 读取初始时间 }         
        2.检测上线沿(按键松开),判读时间是否在自己想要时间 {   }。 


/*
  【蓝桥杯】按键长按(抬起时,长按生效)。【小常用】

    Jshi++      1ms 滴答定时
    TD_U1     与滴答配合使用
    key_low   按键

主要思路是:
        1.检测下降沿(按下按键),{ 读取初始时间 }         
        2.检测上线沿(按键松开),判读时间是否在自己想要时间 {   }。 

*/


//================================================= 
    if(key_low ==5 )
    {
        TD_U1 = TD_Jshi ;    //读取 Jshi++ 中的数值                                            
    }
        if ( key_up==5 )                                                   
        {
            if(  (TD_Jshi - TD_U1 ) > 1000 )          // 2010秒 - 894秒 >1000秒     
            {
                bibi_u1 ^=1;
            }                                                                                    
        }                    
    }        
//================================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现在 Unity 中让鼠标按滑动仅在相机视图范围内生效,你可以按照以下步骤进行操作: 1. 创建一个脚本,并将其附加到你的摄像机对象上。这个脚本将处理鼠标按滑动操作。 2. 在脚本中,你可以使用 Input.GetMouseButton 方法来检测鼠标是否按下。你还可以使用 Input.GetAxis 方法来获取鼠标滑动的量。 3. 在按鼠标,记录开始滑动的起始位置。在滑动过程中,持续更新当前的滑动位置。 4. 获取鼠标滑动位置后,你可以将其与摄像机视图范围进行比较。使用 Camera.ViewportToWorldPoint 方法将视口坐标转换为世界坐标,并根据世界坐标的范围来限制滑动操作的生效范围。 下面是一个示例脚本,可以实现在按鼠标并在摄像机视图范围内进行滑动,操作才生效: ```csharp using UnityEngine; public class MouseDrag : MonoBehaviour { // 定义鼠标滑动生效的范围 public Rect cameraViewRect; // 按鼠标记录的起始位置和当前位置 private Vector3 startPos; private Vector3 currentPos; void Update() { // 检测鼠标是否按下 if (Input.GetMouseButtonDown(0)) { // 记录起始位置 startPos = Input.mousePosition; } // 检测鼠标是否抬起 if (Input.GetMouseButtonUp(0)) { // 在这里处理鼠标滑动结束的逻辑 Debug.Log("Mouse drag ended within camera view rect!"); } // 检测鼠标是否按并滑动 if (Input.GetMouseButton(0)) { // 获取当前滑动位置 currentPos = Input.mousePosition; // 将视口坐标转换为世界坐标 Vector3 startWorldPos = Camera.main.ViewportToWorldPoint(new Vector3(startPos.x / Screen.width, startPos.y / Screen.height, Camera.main.nearClipPlane)); Vector3 currentWorldPos = Camera.main.ViewportToWorldPoint(new Vector3(currentPos.x / Screen.width, currentPos.y / Screen.height, Camera.main.nearClipPlane)); // 检查滑动位置是否在范围内 if (cameraViewRect.Contains(currentWorldPos)) { // 在这里处理鼠标滑动的逻辑 // 例如移动相机或对象等操作 Debug.Log("Mouse dragging within camera view rect!"); } } } } ``` 在这个示例中,你需要将 cameraViewRect 设置为你想要的摄像机视图范围,可以通过在 Inspector 视图中手动设置或通过代码动态设置。 请确保将这个脚本附加到你的摄像机对象上,并根据你的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值