Início > FireMonkey > Utilizando TLight – FireMonkey

Utilizando TLight – FireMonkey

Neste artigo aprenderemos a usar os componentes “TLight” e “TCube” do Firemonkey.

Hoje iremos realizar um efeito de iluminação com o componente TLight da biblioteca “FireMonkey”, que suporta a criação de aplicativos facilmente e intuitivamente como temos visto no Delphi por anos. O FMX também é ideal para rápido desenvolvimento de software, com elementos tridimensionais. Apenas inserindo um objeto geométrico “TCube”, alterando suas propriedades com o cursor do mouse, somos capazes de gerar bons efeitos facilmente.

Quando nos referimos a algum objeto em 3D, logo associamos a altura, largura e comprimento como parte do mesmo. O FMX possui dois tipos de projetos: o “FireMonkey 3D Application” e também o “FireMonkey HD Application”; os dois tipos de projetos dão-nos a possibilidade de trabalhar em 3D, sendo que os Forms do “FireMonkey 3D Application” já vem apto para cenas tridimensionais, e nos projetos “FireMonkey HD Application” é necessário adicionar um componente chamado “TViewport3D”. Vou mostrar a estrutura dos dois tipos de projetos 3D e HD mais vamos criar um novo HD e inclua os seguintes componentes um TViewport3D e dentro dele um TCube um TLight e um TFloatAnimation dentro do TCube conforme estrutura abaixo:

Figura 1. Estrutura dos projetos

Alterando propriedades dos componentes:

Propriedades Cube1

  • Material.Emissive = cor desejada
  • Material.Texture.Bitmap.edit = pode-se incluir uma imagem
  • As dimensões, rotação, angulo etc… pode-se fazer com mouse, clicando e movimentando os pinos azuis do componente.

Propriedades Light1

  • LightType = ItDirectional tem mais dois outros tipos ItSpot e ItPoint

Propriedades FloatAnimation1

  • Duration = 4
  • Enabled = True
  • Loop = True
  • PropertyName = RotationAngle.Y com varias outras opções vale a pena testar.
  • StarValue = 0
  • StopValue = 360

Depois de realizado o processo, teremos um resultado como este:

Figura 2. Posição dos Componentes

Agora, vamos fazer uma suposição, incluiremos um botão no Form e habilitaremos essa animação somente quando a opção for selecionada através do botão. Em um projeto HD você teria sucesso. Porém em um projeto 3D, não é possível a inclusão um botão diretamente no Form 3D. Segue detalhes na observação abaixo.

Observação Importante: em um aplicativo 3D é impossível usar diretamente componentes como botões, combobox, grid, etc… No entanto, há uma maneira muito simples para lidar com isso. Para isso teremos uma ligação entre as cenas 3D e 2D. O FireMonkey nos fornece o componente “TLayer3D”, que foi projetado apenas para isso.

Para não estender muito o artigo, segue no código fonte projeto HD e 3D, facilitando o entendimento de como usar o componente TLayer3D.

Espero que tenham gostado, e que os códigos e dicas tenham facilitado o trabalho e estudo de vocês.

Muito obrigado. Fico por aqui, e espero por vocês na próxima! Grande abraço.

CÓDIGO FONTE

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: