Para marcar o minitabuleiro com indicadores que mostram quais ladrilhos do seu tabuleiro foram atacados, você precisa converter uma coordenada de ladrilho do tabuleiro em uma posição de mundo no minitabuleiro.
Converter coordenadas de ladrilhos em transformação do mundo no minitabuleiro
O procedimento para converter uma coordenada de ladrilho em uma posição de mundo no minitabuleiro é:
Obter o fator de escala do minitabuleiro.
Converter a coordenada do ladrilho em
vector3usando o fator de escala.Girar o marcador para corresponder à rotação do minitabuleiro.
Retornar a transformação construída.
Crie uma função denominada GetDimensions para obter as dimensões do tabuleiro do jogo:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
Em seguida, você precisará de um procedimento para converter uma coordenada de ladrilho em uma transformação localizada no minitabuleiro:
Certifique-se de que haja um minitabuleiro válido.
Obtenha as dimensões do tabuleiro do jogo.
Obtenha a escala relativa de um ladrilho no espaço do minitabela a partir das dimensões do minitabuleiro e dos tabuleiros maiores.
Obtenha a transformação da câmera.
Defina a rotação necessária para girar o eixo da malha do minitabuleiro para a frente.
Construa a posição do mundo com deslocamento girado em relação ao centro do minitabuleiro.
Obtenha a transformação de minitabuleiro.
Adicione o deslocamento do minitabuleiro do centro até a posição do minitabuleiro para obter a transformação do minitabuleiro para as coordenadas de ladrilhos.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Colocar um marcador de minitabuleiro
Para colocar um marcador de minitabuleiro no minitabuleiro, você precisa saber:
A coordenada do ladrilho do tabuleiro onde o marcador está será localizada.
Se deve ser um marcador de acerto ou um marcador de erro.
Construa uma nova enum para representar o tipo de marcador no módulo DataTypes:
using{/Verse.org/Simulation}
using{/Verse.org/Random}
using{/UnrealEngine.com/Temporary/SpatialMath}
DataTypes<public> := module:
...
marker_type<public> := enum<open>:
Hit
Defina uma função SetMarker para colocar um marcador no minitabuleiro na classe do minitabuleiro.
Essa função executa as seguintes etapas:
Certifique-se de que haja um minitabuleiro válido.
Determina qual tipo de malha de marcador usar: acerto ou erro.
Obtenha a transformação de minitabuleiro das coordenadas do ladrilho de entrada.
Gere o marcador.
Adicione o marcador à matriz de marcadores.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
miniboard<public> := class(creative_device):
...
Resumo
Em suma, esta página guia você pelas seguintes etapas:
Coloque um marcador no minitabuleiro.
Converter entre o espaço do minitabuleiro, o espaço do tabuleiro e o espaço do mundo.
Arquivos
using { /Verse.org/Simulation }
using { /Verse.org/Random }
DataTypes<public> := module:
tile_coordinate<public> := class<concrete>:
Left<public>:int = 0
Forward<public>:int = 0
bounds<public> := class<concrete>:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }
using { DataTypes }
using { UtilityFunctions }
board<public> := class(creative_device):
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Assets }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { DataTypes }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
# A Verse-authored creative device that can be placed in a level