Pular para o conteúdo
AstraDOCS

Entrada do jogador (PlayerInput)

Transforme as ações do mapa de entrada em eventos: sem código pela Conexão de evento ou em C# com Performed e Canceled.

Validado no aparelho · APK 0.4.0 · Mirar segurada e solta pelo toque no POCO F7 em C# e em Flow (26/10)

O componente Entrada do jogador faz o papel do Player Input da Unity em modo Invoke Unity Events: cada ação do mapa de entrada vira um evento executada (apertou) e cancelada (soltou) neste objeto.

☰ › Configurações do projeto › Entrada › + Ação: nome Mirar, Fonte Botão touch. No Play aparece o botão Mirar na tela.

No objeto do jogador: Adicionar componente › Entrada do jogador (ou + › Gameplay). Em Ações, marque as ações que este objeto observa.

Conexão de evento no mesmo objeto:

Campo Valor
Evento Entrada: ação executada
Ação (filtro) Mirar
Ação Chamar método
Método Volume: definir peso
Valor 1
Receptor o Volume de mira

Uma segunda conexão com Entrada: ação cancelada e Valor 0 devolve o peso.

using Astra;
using Astra.Components;
[ComponentId("meujogo.ouve-mirar")]
public sealed class OuveMirar : Behavior
{
[PropertyId("indice_mirar")] public int IndiceMirar = 4; // posição da ação no mapa, a partir de 1
public override void Start()
{
if (Object.GetComponent<PlayerInput>() is not { } entrada) return;
entrada.Performed(this, acao => { if (acao == IndiceMirar) Scene.Log(ObjectId, "Mirando"); });
entrada.Canceled(this, acao => { if (acao == IndiceMirar) Scene.Log(ObjectId, "Mira solta"); });
}
}

O evento entrega o índice da ação no mapa (a partir de 1), só no quadro em que ela é apertada ou solta. Para saber se está segurada a cada quadro, continue usando Input.Pressed("Mirar").

Até 32 ações observadas; o índice depende da ordem no mapa; troca de esquema de controle e vários jogadores locais não existem.