De vez em quando as pessoas perguntam como podem randomicamente escolher uma animação.
Este pequeno tutorial mostra um jeito simples de fazer isso.
Técnicas usadas
Existem algumas poucas técnicas básicas necessárias. Você deve entender como a instrução random funciona , bem como a instrução tokenat.
Aqui vai um pequeno sumário :
random(x) gera um numero randômico selecionado entre zero e menor x. Então se você usar random(3) você terá como resultado um numero maior ou igual a 0 e menor que 3 (0=< X < 3) Ex. 3 nunca será retornado!!!
Um resultado válido poderia ser 0.3142 - se você lidar com esse numero , em uma instrução que precisa de um inteiro você terá um erro. Então o que você poderia fazer é utilizar o random() dentro de uma instrução int().
Então int(random(3)) lhe dará 0, 1 ou 2 como resultado.
tokenat(s,i,d) analisa uma string. Uma string é basicamente uma variável contendo texto. Para o tokenat funcionar, você tem que usar um delimitador, que o tokenat irá procurar por.
tokenat espera como primeiro parâmetro a string, que deverá ser analisada. O segundo parâmetro diz ao tokenat que sub-string (token) gostaríamos que fosse retornado. E a terceira é o delimitador que usamos na string.
Para nosso exemplo poderia ser assim
tokenat("one:two:three", 2, ":")
que nos retorna three!
tokencount(s,d) nos ajudará a fazer o comando mais genérico. tokencount retorna o numero de tokens encontrados na string.
tokencount("one:two:three", ":")
retornará three.
Pegando a animação
Primeiro vamos gerar uma variável global que conterá os nomes de nossas animações para seleção em formato "tokenizado" como o exemplo :
Global Text anims = "one:two:three"
Agora temos apenas que dar as nossas animações os nomes iguais ao da variavel e então poderemos usar set Animation (tokenat(anims, int( random( tokencount(anims, ":"))), ":"))
para escolher uma animação "randomizada".
Basicamente é isso. Deixe me saber , se for necessário mais alguma informação .
Traduzido por Fabgon do Tutorial escrito por Weishaupt ( Random Animation )
Publicado originalmente em 24 de janeiro de 2012