body { background-color: white; }
Juan de Sousa Rodrigues • 19 dez 2022 • Microsoft Power Apps
Nesse artigo iremos criar duas maneiras de movimentar um personagem na tela: usando o teclado ou um controle digital.
Usando o teclado
Primeiro precisamos criar uma entrada de texto para que ela receba os comandos do teclado

Vamos deixar a entrada de texto com a propriedade padrão vazia


Agora iremos adicionar um botão para selecionar a entrada de texto


No botão Colocaremos a seguinte fórmula na propriedade OnSelect: SetFocus(TextInput1)
Assim quando o botão for clicado a entrada de texto será selecionada

Iremos adicionar uma imagem do nosso personagem, escolha alguma imagem da internet e carregue nas mídias do aplicativo.



Vamos agora adicionar um temporizador na tela


Vamos modificar o campo Duration para 60 e ligar as opções de Repetir e Inicialização automática no painel da direita em Propriedades

Na parte de avançado do painel da direita iremos colocar a seguinte fórmula no campo de OnTimerStart: Reset(TextInput1)
E no campo de OnTimerEnd: If(TextInput1.Text = "w";Set(Vertical;Vertical-100);If(TextInput1.Text = "s";Set(Vertical;Vertical+100);If(TextInput1.Text = "a";Set(Horizontal;Horizontal-100);If(TextInput1.Text = "d";Set(Horizontal;Horizontal+100)))))
Obs.: Note que as teclas que serão utilizadas para movimentação serão o “wasd”. O nome das variáveis utilizadas para modificar a posição do personagem são: Vertical e Horizontal. É recomendável escrever a parte dos nomes das variáveis manualmente para que o power apps entenda que o conteúdo será de números.

Selecionaremos agora o personagem e nos campos de X e Y da imagem iremos colocar as variáveis Horizontal e Vertical respectivamente



Vamos adicionar rótulos de texto para ajudar a visualizar o valor das variáveis


Obs.: Se você modificou manualmente o posicionamento da imagem da tela verifique novamente se os campos de X e Y não foram alterados e se as variáveis continuam lá

Agora é so ir no modo de visualização e clicar no botão que foca na entrada de texto e testas as teclas de movimentação

Podemos melhorar a interface escondendo alguns elementos como o timer e colocando todo o conteúdo da entrada de texto como transparente, inclusive as bordas e a cor ao focalizar.





Controle virtual
Para criarmos um controle virtual iremos utilizar quatro setas dos ícones no Power Apps


Depois de adicionar as quatro setas iremos adicionar as fórmulas a cada uma delas
Na seta para cima: Set(Vertical;Vertical-100)

Na seta da direita: Set(Horizontal;Horizontal+100)

Na seta de baixo: Set(Vertical;Vertical+100)

Na seta da direita: Set(Horizontal;Horizontal-100)

Para finalizar iremos agrupar todas a setas para que possamos deixar esse controle ligado e desligado.



Vamos criar agora um botão para esse controle
Coloque a seguinte fórmula no botão: Set(Digital;!Digital)

E no grupo criado para o controle iremos na propriedade de Visible e colocaremos a variável Digital que criamos anteriormente

Agora conseguimos escolher qual das duas maneiras queremos usar para mover o personagem.

