Vamos pensar que você queira criar uma Textbox muito especial, a fim de criar, por exemplo, uma ficha de personagem para um jogo de role-playing.
Sendo assim, vamos começar com um conjunto muito básico de configurações:
Apenas uma caixa de texto para uma habilidade, que aqui será, DESTREZA.
DESTREZA deve ser um valor de 0 a 3 em nosso jogo.
Nós criamos uma caixa de texto no layout e escrever um código como este:
Note que a Textbox está confirmada para o tipo NUMERO (Number).
E precisaremos deste codigo:
Primeiro de tudo, nós chamamos a principal condição: System: Every Tick.
Depois disso, nós criamos uma variável local (tipo número). Vamos chamá-lo Buffer. Vai ser útil para pegar os valores depois e enviá-los para os algoritmos de criação do nosso personagem.
Em seguida, nós pegamos a condição que o numero terá. Então, nós definimos uma condição múltipla:
If TextBox.text is >= 0, and 0<= int(TextBox.Text)<=3 ---> Set text to TextBox.Text and buffer to int(1number.Text)
Else!
(Se o que aconteceu antes é falsa, o programa vai continuar assim) --> TextBox.Text = ""
Então, teremos uma caixa de texto especial que só toma valores de 0 a 3.
Mas é importante ressaltar que há uma grande falha nessa abordagem. Descobriremos que se digite 1, a caixa de texto mostra, obviamente, um número 1. Desde aqui, tudo será perfeito.
Mas vamos digitar novamente um número válido, por exemplo, 3. Em seguida, a caixa de texto vai mostrar nada mais que um espaço em branco. Seremos forçados a escrever novamente o valor desejado para vê-lo em nossa caixa de texto. E isso, parece uma limitação do Construct 2, que pode ser inevitável.