我不確定如何在unity 19.4中測驗一個按鈕是否被點擊。這是我測驗的代碼,有人知道如何在更新方法中測驗東西嗎?
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class Controller : MonoBehaviour
{
[Header("Button Objects")]
public Button buttonOne;
void Update()
{
if (buttonOne.clicked == true)
{
Debug.Log("It worked :D")。
}
}
}
uj5u.com熱心網友回復:
我將創建一個帶有點擊功能的腳本,將其添加到按鈕上,然后,在按鈕的檢查器中查看,并將你的功能作為點擊事件添加。
uj5u.com熱心網友回復:
按鈕通過向其onclick的事件添加監聽器來作業。這些監聽器可以是持久性監聽器或運行時監聽器。持久監聽器是在編輯器中分配的,而運行時監聽器是在運行時的代碼中分配的。以下是你如何在代碼中分配一個新的監聽器。
public class Controller : MonoBehaviour
{
[SerializeField] private Button btn = null;
private void Awake()
{
//span>添加一個沒有引數的委托
btn.onClick.AddListener(NoParamaterOnclick)。
//添加一個有引數的委托 //添加一個有引數的委托。
btn.onClick.AddListener(delegate{ParameterOnClick("按鈕被按下了!");})。
}
private void NoParamaterOnclick()
{
Debug.Log("按鈕被點擊,沒有引數")。
}
title">ParameterOnClick(span class="hljs-built_in">string test)
{
Debug.Log(test)。
}
}
在上面的例子中,我正在添加兩個監聽器。我不確定你想呼叫的函式是否會有引數,所以確保只添加一個回呼,除非你想在你的按鈕被點擊時呼叫多個函式。
Update是一個每幀都被呼叫的方法。只把持續檢查或經常更新的邏輯放在這里。一個按鈕應該只在它被點擊時才有反應,這就是為什么它有onclick。Unity已經在內部通過使用其EventSystem和一系列GraphicalRaycasts來檢查一個按鈕是否被點擊了。
我曾問過你使用的是哪個版本的Unity,因為在較新的版本中,有一個較新的UI流程,稱為UI Builder,它有一個完全不同于添加onclick事件的方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/321579.html
標籤:
下一篇:【jQuery>節點方法
