Coisas que eu quero fazer
Isso permitirá que você execute uma ação específica quando um botão for pressionado no Unity.
Ao pesquisar, encontrei vários artigos em japonês (provavelmente sobre Unity 20XX), mas não consegui fazê-los funcionar, seja porque estava fazendo algo errado ou porque não funcionam com o Unity 6.
Este documento explica como fazer isso em um ambiente Unity 6.
implementação
Registro de código
Selecione ‘Criar Vazio’ no ícone ‘+’ da Hierarquia para criar um GameObject vazio.

Selecione o objeto de jogo vazio que você criou na visualização Hierarquia e exiba o Inspetor.
Selecione ‘Adicionar componente’ na parte inferior da janela do Inspetor, depois selecione ‘Novo script’ e dê a ele um nome de sua escolha.

Modifique o script que você criou da seguinte forma e salve-o.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
public Button m_Button;
void Start()
{
m_Button.onClick.AddListener(() => ButtonClicked(42));//register function
}
void ButtonClicked(int buttonNo)////argument type can be changed
{
Debug.Log("Button clicked = " + buttonNo);///output log
/*クリック時の処理*/
}
}Criar e registrar botões
Crie uma tela selecionando UI → Tela no menu + na visualização Hierarquia. (Esta etapa é desnecessária se você já tiver uma.)
Em seguida, crie um botão selecionando UI → Botão – TextMeshPro no ícone + na visualização Hierarquia.

Selecione o GameObject vazio na visualização Hierarchy onde você registrou o código acima.
Arraste e solte o botão que você criou na visualização Hierarquia sobre o botão exibido no script do GameObject.

Resultado
Ao executar o programa e pressionar o botão, os registros foram exibidos na visualização do Console.

O site que mencionei (o site oficial) também descreve outros métodos para registrar funções. Aqui, experimentei e descrevi o método mais geral usado neste exemplo. Se você estiver interessado em outros métodos, consulte o link abaixo.


コメント