Fundo de UI

Defina um fundo e borda de uma entidade de UI.

As seguintes propriedades são usadas para definir um fundo e uma borda em uma entidade UI.

Fundo

A uiBackground o componente fornece cor ou uma textura à área de uma entidade. Ele usa o tamanho e a posição definidos pelo uiTransform.

Os seguintes campos podem ser configurados, todos são opcionais:

circle-info

💡 Tip: Torne uma entidade semi-transparente definindo o 4º valor do Color4 para menos de 1.

  • textura: A textura a ser exibida na entidade, isto recebe um objeto com vários parâmetros sobre a textura. As mesmas propriedades estão disponíveis como em texturas em materiais em entidades 3Darrow-up-right.

    • src: O caminho para o arquivo de imagem a ser usado como textura. (string)

    • filterMode: (opcional) Determina como os pixels na textura são esticados ou comprimidos quando renderizados. Veja Escalonamento de Texturaarrow-up-right. (FilterMode = 'point' | 'bi-linear' | 'tri-linear')

    • wrapMode: (opcional) Determina como uma textura é aplicada em mosaico a uma entidade. Isto recebe um valor do TextureWrapMode enum. Veja [Texture Wrapping]((Ver documentaçãoarrow-up-right). (WrapMode = 'repeat' | 'clamp' | 'mirror' | 'mirror-once')

    Dica: Você pode combinar ambas as textura e color propriedades em um único uiBackground componente para produzir uma textura tingida.

  • textureMode: Seleciona como você quer que a textura se adapte ao tamanho da entidade à qual está aplicada. (TextureMode = 'nine-slices' | 'center' | 'stretch') enum, que suporta os seguintes valores:

    • center: A textura não é esticada, é posicionada centralizada na entidade e partes dela podem ser cortadas dependendo do tamanho da entidade.

    • stretch: A textura é esticada para cobrir toda a superfície da entidade.

    • nine-slices: Partes da textura são esticadas para cobrir toda a superfície da entidade, deixando margens não esticadas. Veja texturas nine-slice.

  • avatarTexture: Exibe uma miniatura de perfil de avatar, baseada em um ID de avatar. Veja [Avatar Portraits]((Ver documentaçãoarrow-up-right).

  • textureSlices: Determina as margens a serem usadas ao utilizar o modo de textura nine-slice, veja texturas nine-slice. Defina um número menor que 1, como uma fração da largura ou altura total da imagem.

Cor simples:

arquivo ui.tsx:

arquivo index.ts:

circle-exclamation

Padrão de textura repetido:

Bordas

Algumas propriedades são usadas para definir uma borda ao redor de uma entidade UI. Essas propriedades existem no uiTransform componente. Cada uma permite definir um único valor para todos os lados da borda, ou valores diferentes para cada lado.

  • borderColor: A cor a ser usada na entidade, como um Color4arrow-up-right valor.

  • borderWidth: A largura da borda, como um número em pixels. Também suporta valores em porcentagem, por exemplo borderWidth: '2%' definirá a largura da borda como 2% da largura da entidade.

  • borderRadius: Use esta propriedade para dar às bordas da entidade um contorno arredondado. Ela define o raio dos cantos em pixels.

borderWidth, borderColor e borderRadius também pode ser definido com valores diferentes para cada lado da entidade.

Opacidade

Use o opacity propriedade no Transform de um UiEntity para adicionar transparência à entidade e a todos os seus filhos. A propriedade opacity é um valor de 0 a 1, onde 0 é totalmente transparente e 1 totalmente opaco.

O valor de opacidade afeta todos os filhos de um UiEntity, aplicando transparência a cores de fundo, cores de texto e imagens de fundo. Quando tanto o pai quanto um filho têm valores de opacidade, a opacidade final do filho é o produto do seu próprio valor pelo do pai.

Texturas nine-slice

Você pode usar Escalonamento 9-slicearrow-up-right com suas texturas, para garantir que cantos e margens não sejam esticados de forma desigual.

Com esta técnica popular, você divide uma imagem em 9 segmentos, que serão esticados de diferentes maneiras para preservar as proporções das margens e cantos. Por exemplo, use isso para definir fundos com cantos arredondados que se adaptam facilmente a qualquer tamanho. Considere a imagem a seguir (emprestada de Wikipediaarrow-up-right):



Nesta imagem vemos a textura original (canto superior esquerdo) e o resultado de escalá-la de maneira tradicional (canto superior direito); note como os cantos ficam deformados. Abaixo disso, vemos a textura segmentada em 9 fatias (canto inferior esquerdo) e então o resultado de esticar a imagem de acordo com o método 9-slice (canto inferior direito).

Veja como cada segmento é afetado, usando a imagem acima como referência.

  • O segmento 5 é a única parte da imagem que é totalmente esticada nos eixos x e y.

  • Os segmentos 1, 3, 7 e 9 (os cantos) não são esticados de forma alguma.

  • Os segmentos 2 e 8 são esticados apenas horizontalmente

  • Os segmentos 4 e 6 são esticados apenas verticalmente.

Para usar o esticamento nine-slice em uma entidade, defina o textureMode para BackgroundTextureMode.NINE_SLICES. Opcionalmente você também pode definir uma largura para a margem em cada lado em textureSlices.

Atualizado