Recebendo Valores

Recebendo Valores

Ferramenta: Multimedia Fusion 2 (não testei com outras versões)
Nível: Iniciante

Introdução:

O que vamos aprender a fazer hoje é fazer com que um Objeto X receba os valores de um Objeto Y. Assim fica meio complicado de entender, mas vou usar um exemplo extremamente simples: fazer com que uma String receba o valor de o texto digitado em uma EditBox ao clicar em um botão. Ah, para os que não sabem, String é um objeto de texto no Multimedia Fusion 2, que se adiciona ao Frame como os demais objetos (duplo clique sobre uma área em branco). E uma EditBox, é quase a mesma coisa, só que como o nome sugere, pode-se editar esse texto.

Matéria:
Claro, nem todas as condições permitem que você receba valores de outro objeto. Até porque, seria estranho receber um valor em uma condição de colidir com um obstáculo. Apenas condições que fazem uso de expressões podem receber valores.

Exemplos de condições em Counters: Set Counter, Add to Counter, Subtract from Counter, etc...
Exemplos de condições em Active Objects: Set X Coordinate, Set Y Coordinate, etc...

Ok, chega de papo. Vamos aprender a como fazer com que a condição receba um determinado valor. Crie um Counter, e coloque um seguinte evento:

Upon pressing "Enter" > Set Counter

Quando a janelinha de expressão se abrir, clique no botão Retrieve data from an object. Ok, agora escolha um objeto para receber o valor. Eu escolhi o Controlador de Tempo, e selecionei a opção Timer count, seconds.



Certo, agora clique no botão OK.



Perfeito, o que vai acontecer?

Sempre que Apertar a tecla Enter, o Counter receberá o valor dos segundos já passados desde que o Frame foi iniciado.

Certo, ótimo. Isso é o básico. Agora vamos ver mais um exemplo para você entender melhor ok?

Escreveu Texto e Clicou no botão "OK"? Pronto, vai substituir pelo String...

Primeiro, coloque um Edit Object na tela, e um String. No String, escreva um texto qualquer. Muito bem, agora, coloque um Button
na tela, escrito "OK" (sem as aspas). Beleza, agora vamos pros eventos! Simplesmente, coloque este evento:

(No Botão) Button (NOMEDOBOTÃO) clicked > (No String) Change Alterable String

Então, selecione no Retrieve from an object, o Edit Object e selecione a opção Get Text. Pronto fi, agora é só clicar em OK ^^





Vai ficar assim:



Certo, agora rode o jogo e teste você mesmo. Escreva um texto qualquer no Edit Object, e clique no Button. Então, vai aparecer na String! Se não funcionar, tente novamente, leia e releia este tutorial até conseguir! Olhe meu resultado:



Observações Importantes:

Você não pode normalmente mandar algo que armazene valores numéricos como um Counter receber um valor alfanumérico como o de uma EditBox, nem fazer uma String receber o valor de um Counter. Não pode normalmente, porque dar, dá... Para um numérico receber um valor alfanumérico, coloque na expressão Val(valorrecebido). E para um alfanumérico receber um numérico, use
Str$(valorrecebido). No lugar de valorrecebido, deve ficar o valor a ser recebido (o nosso Edittext$( "Edit" ), que aparece depois de selecionarmos a opção Get Text na EditBox, por exemplo). Agora, sério... se você colocar para um Counter receber o valor de uma String... não dá em nada xD. A opção VAL te dá a possibilidade de fazer o MMF reconhecer, agora... o impossível mesmo, não dá pra fazer.

O Val e o Str$ não são as únicas funções extras, não. Como você pode ver, existem diversos botões na parte debaixo da caixa de expressão. Explore, procure saber o que cada uma faz... com certeza essas funções vão te ajudar muito!

Além das funções dos botões que eu falei acima, existem funções que não tem botões, como a Abs. Nesse caso, o jeito é decorar mesmo pra quando precisar usar. Não vou colocar todas as que conheço aqui, porque vocês estão começando agora, e descobrirão sozinhos se estudarem ;D

Finalizando:
Bem galera, eu vou ficando por aqui. Até a próxima!

Falow o/