Transmita variáveis inteiras ou float para um widget usando as funções de conversão ToText(Int) e ToText(Double). As funções de conversão ToText convertem uma variável do tipo Inteiro ou Float em um tipo Texto que você pode exibir no seu widget. Uma variável não será exibida no seu widget se ela permanecer como um tipo diferente de texto.
Na verdade, a função de conversão é chamada To Text (Double) no Editor em vez de To Text (Double), mas elas têm o mesmo propósito.
Abaixo estão dois exemplos que ilustram o uso de ambas as funções de conversão.
Exemplo de To Text (Int): um widget de rastreador personalizado acompanha o progresso de um jogador quando ele coleta uma quantidade de bacon.
Exemplo de To Text (Double): um widget de janela de diálogo personalizado abre uma janela com possíveis respostas a uma pergunta de curiosidades. Um cronômetro de contagem regressiva é usado para fechá-lo se uma resposta não tiver sido selecionada antes que o tempo termine.
To Text (Int)
Neste exemplo, um widget de rastreador personalizado é criado para acompanhar quanto bacon o jogador coletou. Use as etapas no documento de pop-ups de interface para criar um widget de usuário e nomeie-o Tracker_Widget.
Configuração de widget
Para configurar Tracker_Widget, adicione os seguintes widgets na ordem apresentada abaixo ao painel Hierarchy:
Sobreposição
Imagem (Aninhe sob a sobreposição e renomeie como Background.)
Caixa de empilhamento (Aninhe sob a sobreposição)
Bloco de Texto (Aninhe sob a primeira caixa de empilhamento e renomeie para Título, este é o Título do Rastreador "{Tracker Title}")
Caixa de Empilhamento (aninhe a primeira caixa de empilhamento.)
2 blocos de texto (aninhe sob a segunda caixa de empilhamento. Renomeie o primeiro bloco de texto como CurrentValue "{Current}" e o segundo bloco de texto como Flavor Text "Bacon coletado".)
Você precisa de um bloco de texto que receba o número atual de bacons que o jogador coletar. O Tracker_Widget é configurado para incluir um bloco de texto TrackerTitle para que a propriedade Name possa passar do modelo de visualização para o bloco de texto atual:
Configure seu widget usando o mesmo
Isto é o que o jogador vê no jogo quando coleta bacon:
Configuração de função de conversão
A função de conversão To Text (Int) é usada para passar a quantidade atual de bacon para o dispositivo de rastreador por meio do bloco de texto CurrentValue.
Para configurar as funções de conversão To Text (Int), crie vinculações de visualização e vincule os valores que você definiu no widget ao dispositivo Rastreador.
Abra Janela > Vinculações de Visualização.
Selecione o bloco de texto CurrentValue no seu widget e clique em +Adicionar widget na janela Vinculações de Visualização.
Na caixa esquerda da vinculação de exibição, selecione CurrentValue > Texto. Isso significa que Text será passado para a propriedade Text do bloco de texto CurrentValue.
Na caixa à direita, clique no campo e selecione Funções de conversão > To Text (Integer). Vários campos aparecem na vinculação do bloco de texto CurrentValue.
Para saber mais sobre o que cada campo faz, consulte a seção Propriedades de To Text (Int/Double).
Isso executa uma função de conversão chamada To Text (Integer) que recebe um valor e retorna uma variável do tipo Text para passar para a propriedade de texto do bloco de texto CurrentValue.
Selecione o ícone da corrente ao lado de Valor e selecione MVVM_UEFN_Tracker > Valor.
A variável Valor do modelo de visualização do rastreador passa para a função de conversão To Text (Integer). Isso gera a variável Value como uma propriedade de texto que é então passada para a propriedade Text do bloco de texto CurrentValue.
Resultado final
Para usar o novo widget, arraste um dispositivo Rastreador para o projeto e faça o seguinte:
No painel Detalhes do dispositivo Rastreador, defina o campo Widget do HUD como Track_Widget.
O Rastreador pode ser usado para rastrear o atributo de pontuação e use objetos colecionáveis no seu nível para testar essa funcionalidade.
Sempre que o jogador coleta bacon no jogo, o rastreador é incrementado automaticamente pelo valor da pontuação definida para cada bacon.
To Text (Double)
Neste exemplo, use o fluxo de trabalho Variante de Diálogo Modal do documento Pop-Ups de Interface para criar um widget de janela de diálogo personalizado chamado Trivia_Widget. Trivia_Widget exibe perguntas de curiosidades do Fortnite que precisam ser resolvidas antes que o limite de tempo acabe.
Configuração de widget
Clique com o botão direito no Navegador de Conteúdo para abrir o menu de contexto.
No menu de contexto, selecione Interface de usuário > Blueprint de Widget > Variante de janela modal.
Abra o widget e adicione os seguintes contêineres ao painel Hierarquia na ordem mostrada na imagem:
Sobreposição
Imagem
3 Caixas de Empilhamento
Uma sobreposição contém todo o widget como o contêiner-pai. Em seguida, use um widget de imagens para o plano de fundo e, por último, várias caixas de pilha aninhadas para conter todo o conteúdo, como textos e botões.
Adicione blocos de texto e botões às suas caixas de empilhamento conforme ilustrado abaixo.
Encapsule os blocos de texto TimeLeft e TimeFlavorText em uma caixa de empilhamento para que TimeLeft seja atualizado dinamicamente por meio de uma vinculação de visualização à variável Remaining Time for Timeout no modelo de visualização da janela de diálogo.
Adicione os botões como uma grade 2x2. Como os botões estão em uma grade 2x2, use um painel de grade uniforme em vez de uma caixa de empilhamento. Clique com o botão direito em cContainer_Buttons > Substituir por… > Painel de grade uniforme.
O painel de grade uniforme permite que você organize facilmente seus widgets-filho em um padrão de grade. Você também pode definir facilmente o preenchimento de espaços para cada filho.
Selecione cada botão individualmente na hierarquia para realçar o botão na visualização do criador principal.
Na visualização do criador principal, clique nas setas ao redor do botão para mover o botão até uma linha ou coluna específica onde você deseja que o botão esteja.
No exemplo abaixo, os botões estão organizados em um layout da esquerda para a direita e de cima para baixo. Os botões foram renomeados como Button1, Button2, Button3 e Button4.
No painel Detalhes, defina Layout-filho > Preenchimento de espaço como 16 px para Container_Buttons.
Ajuste esse valor como achar melhor para seu próprio design.
Na caixa de empilhamento de conteúdo, adicione um botão silencioso para usar como botão Fechar mais tarde.
Adicione alguns espaçadores entre os contêineres para tornar o conteúdo mais legível. Você pode fazer isso adicionando um widget de imagem ao local onde deseja que os espaços estejam e, em seguida, no painel Details, usar as seguintes opções:
Pincel > Desenhar como = Nenhum
Tamanho da imagem (valores X e Y) = 35 (pode ser mais ou menos dependendo do seu design.)
Essa é uma maneira facilmente gerenciável de lidar com o espaçamento entre os elementos da interface sem depender de preenchimento.
Edite o texto do botão para identificar facilmente cada botão.
Abra as pastas Fortnite > Interface e crie uma instância de material do nó M_UI_Rectangle para criar um material de plano de fundo para seu pop-up de perguntas de curiosidades.
No UMG, abra o widget de usuário e selecione o widget de imagem de plano de fundo e, no campo Pincel > Imagem, selecione a instância de material que você acabou de criar.
Adicione 32 px de preenchimento na caixa de empilhamento de conteúdo para tornar o pop-up mais legível.
Configuração de função de conversão
A vinculação de respostas de botões não será abordada nesta documentação. Em vez disso, o tutorial se preocupa em vincular o texto TimeLeft à variável Float para o tempo de limite restante do tempo-limite.
Abra Janela > Vinculações de Visualização.
No painel Hierarquia, selecione o widget de bloco de texto TimeLeft. Na janela Vinculações de Visualização, clique em +Adicionar widget.
Na caixa esquerda, selecione TimeLeft > Texto. Isso transmite alguma forma de valor para a propriedade Text de TimeLeft.
Na caixa direita, selecione CreativeModalDialogViewmodel > Tempo restante para limite de tempo. Em seguida, selecione Funções de conversão > To Text (Double).
Passar o mouse sobre a variável revela que esse valor é um valor float. A função de conversão To Text (Double) fornece uma maneira de converter um valor Double/Float em uma variável de texto e o exibe na interface.
Vários campos aparecem na janela de vinculação de visualização.
Para obter mais informações sobre esses campos, consulte a seção Propriedades de To Text (Int/Double) do documento.
Clique no ícone da corrente ao lado de Valor e selecione CreativeModalDialogViewmodel > Tempo restante para tempo esgotado > Selecionar.
A variável Remaining Time for Timeout é passada para a função de conversão To Text (Double), que gera o valor float em um formato de texto que pode ser lido por sua interface. Sua IU exibe com precisão o tempo restante antes que o widget de janela de diálogo seja fechado.
Resultado final
Arraste um dispositivo Janela de Diálogo para o seu projeto e faça o seguinte:
Em um dispositivo Janela de Diálogo, defina a Classe de Substituição de Modelo como o Trivia_Widget que você criou.
Verifique "Usar limite de tempo de janela de diálogo".
Defina a duração do tempo-limite para 6 segundos ou qualquer tempo que você acha que dê aos jogadores tempo suficiente para ver e ler o pop-up.
Agora, quando o widget de janela de diálogo for exibido, você poderá ver o cronômetro marcar a cada segundo dentro da janela pop-up.
Propriedades de To Text (Int/Double)
Há vários campos disponíveis na função de conversão To Text (Int). To Text (Double) compartilha os mesmos campos, a menos que seja especificado o contrário:
Value: a variável de número inteiro a ser passada para a função de conversão.
Always Sign: adiciona um sinal positivo ou negativo ao prefixo para a saída de Text indicando se o valor é um valor positivo ou negativo. Se o valor for positivo, gera o texto como +{Value}. Se for negativo, gera o texto como -{Value}.
Use Grouping: determina se os valores são agrupados, mas separados por quando o valor estiver acima de 1.000. Usará a configuração sensível a culturas no seu computador para o indicador de agrupamento. Se ativado, gera o texto como 1.000. Se desligada, gera o texto como 1000.
Minimum Integral Digits: o número mínimo de dígitos inteiros a serem mostrados no texto. O valor padrão é 1. Se definir o mínimo como acima de 1, ele exibirá 0 para números inteiros com um número de dígitos menor que os dígitos integrais mínimos. Por exemplo, se o mínimo de dígitos inteiros for definido como 3 e o valor for atualmente 5, o texto será gerado como 005.
Maximum Integral Digits: o número máximo de dígitos inteiros a serem mostrados no texto. O valor padrão é 354. Isso restringe que seu texto mostre apenas um número máximo de dígitos.
Minimum Fractional Digits (apenas para _To text (Double)_): o número mínimo de dígitos a serem exibidos após o ponto decimal. O valor padrão é 0.
Maximum Fractional Digits (apenas para _To text (Double)_): o número máximo de dígitos a serem exibidos após o ponto decimal. O valor padrão é 3.
Rounding Mode (apenas para _To Text (Double)_): determina como o valor Float/Double arredonda para cima para o número mais próximo.
| Tipo | Descrição | Exemplo |
|---|---|---|
Half to Even | Arredonda para a posição mais próxima, empates equidistantes vão para o valor mais próximo de um valor par | 1,5 torna-se 2, 0,5 torna-se 0 |
Half from Zero | Arredonda para a posição mais próxima, empates equidistantes vão para o valor mais distante de zero | -0,5 torna-se -1,0, 0,5 torna-se 1,0 |
Half to Zero | Arredonda para a posição mais próxima, empates equidistantes vão para o valor mais perto de zero | -0,5 torna-se 0, 0,5 torna-se 0. |
From Zero | Arredonda para o valor mais distante de zero, “maior” em valor absoluto | 0,1 se torna 1, -0,1 se torna -1 |
To Zero | Arredonda para o valor mais próximo de zero, “menor” em valor absoluto | 0,1 torna-se 0, -0,1 torna-se 0 |
To Negative Infinity | Arredonda para o valor que é mais negativo | 0,1 torna-se 0, -0,1 torna-se -1 |
To Positive Infinity | Arredonda para o valor que é mais positivo | 0,1 torna-se 1, -0,1 torna-se 0 |