Unity按钮按下、抬起的反应

目录

 

一、目的

1、想:知道Unity按钮按下、抬起的反应

二、参考:

1、Unity3D---UGUI---Button相关、点击、按下、抬起、长按事件

①总结:good:知道了Unity中按钮有这种用法;

三、操作:使用EventTrigger

1、按钮设置

2、代码: 

3、效果:长按会切换场景


 

 

一、目的

1、想:知道Unity按钮按下、抬起的反应

 

二、参考:

1、Unity3D---UGUI---Button相关、点击、按下、抬起、长按事件

https://blog.csdn.net/ku_er/article/details/85545556

①总结:good:知道了Unity中按钮有这种用法;

 

三、操作:使用EventTrigger

1、按钮设置

 

2、代码: 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

/// <summary>
/// 功能:场景管理
/// </summary>
public class My_test10_sceneManege : MonoBehaviour
{
    /// <summary>计时:长按到修改配置文件场景</summary>
    private float time_longDownToModifyConfigSceneButton;

    /// <summary>是否按下到配置文件场景</summary>
    private bool isDownToModifyConfigSceneButton;

    // Use this for initialization
    void Start()
    {
        isDownToModifyConfigSceneButton = false;
    }

    // Update is called once per frame
    void Update()
    {
        ToConfigModifyScene();
    }

    /// <summary>
    /// 功能:长按隐藏按钮到修改配置文件场景
    /// </summary>
    public void OnClick_toConfigModifyScene(bool _isStart)
    {
        isDownToModifyConfigSceneButton = _isStart;   
            
        if (isDownToModifyConfigSceneButton)
        {
            time_longDownToModifyConfigSceneButton = Time.time;
            print("长按开始");
        }
        else
        {
            time_longDownToModifyConfigSceneButton = 0;
            print("长按取消");
        }
    }
    
    /// <summary>
    /// 功能:长按到修改配置文件场景
    /// </summary>
    private void ToConfigModifyScene()
    {
        if (isDownToModifyConfigSceneButton == true)
        {
            print("Time.time - time_longDownToModifyConfigSceneButton:"+(Time.time - time_longDownToModifyConfigSceneButton));
            if (Time.time - time_longDownToModifyConfigSceneButton >10)
            {
                isDownToModifyConfigSceneButton = false;
                time_longDownToModifyConfigSceneButton = 0;
                SceneManager.LoadScene("test10-configModify");
            }
        }


    }

    /// <summary>
    /// 功能:按下按钮到游戏场景
    /// </summary>
    public void OnClick_toButterflyScene()
    {
        SceneManager.LoadScene("test10-butterfly");
    }


}

3、效果:长按会切换场景

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过以下步骤实现Unity中长按按钮播放视频松开按钮: 1. 创建一个按钮并添加OnClick事件。 2. 在OnClick事件中,使用InvokeRepeating()函数来定期调用一个方法,该方法将在长按按钮期间一直执行。 3. 在该方法中,检测按钮是否已松开。如果按钮已松开,则停止InvokeRepeating()。 4. 在该方法中,检测按钮是否已按下。如果按钮按下,则播放视频。 下面是示例代码: ```csharp public class ButtonController : MonoBehaviour { public GameObject videoPlayer; private bool isPressed = false; public void OnButtonDown() { isPressed = true; InvokeRepeating("CheckButton", 0, 0.1f); } public void OnButtonUp() { isPressed = false; CancelInvoke("CheckButton"); } private void CheckButton() { if (isPressed) { // 播放视频 videoPlayer.SetActive(true); } else { // 停止播放视频 videoPlayer.SetActive(false); CancelInvoke("CheckButton"); } } } ``` 在上面的示例代码中,我们创建了一个名为ButtonController的脚本,并将其添加到按钮上。该脚本包含了两个方法:OnButtonDown()和OnButtonUp(),分别在按钮按下和松开时调用。我们还添加了一个名为videoPlayer的游戏对象,它将在按钮长按期间用于播放视频。 在OnButtonDown()方法中,我们将isPressed设置为true,并使用InvokeRepeating()函数定期调用CheckButton()方法。在CheckButton()方法中,我们检测按钮是否已按下或已松开,并根据需要播放或停止视频。最后,在OnButtonUp()方法中,我们将isPressed设置为false,并取消InvokeRepeating()。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值