Previsão do Tempo para São Paulo

Pesquisar este blog

terça-feira, 1 de novembro de 2011

* Criando Script básico

       Para fazer experiências com scripts, se faz necessário ter um terreno onde se permita a execução dos scripts, caso você não tenha um terreno próprio use uma sandbox( área publica para criação de objetos).
       Comece criando um prim qualquer, selecione o objeto recem criado e clique na aba conteúdo e, em seguida no botões "Novo script".

       De um duplo clique no item recém criado (New script). A janela do script se abrirá.
 Repare que o script já possui um código-fonte, é uma espécie de código mínimo o qual você pode usar como ponto de partida para o seu próprio código.
         Dois botões são importantes nesta janela.
         Salvar - Se não houver erro ele será salvo, caso contrário lhe indicará a linha e a coluna onde se encontra o erro. Procure salvar cada passo, primeiro para evitar a perda do trabalho e segundo para descobrir o erro e corrigi-lo.
         Resetar - Restaura o estado inicial, é como se você desligasse e religasse o script, ele começará do zero de novo.

                           ESTADOS

        Um script determina os estados do objeto. Se você quer que um objeto possa girar ou ficar parado, você terá de determinar dois estados nele.
        O script que você abriu já vem com um esqueleto montado. Todos os scripts devem ter um estado inicial obrigatório. o "default (padrão). O script sempre começará a ser executado a partir deste estado.
        Geralmente, coloca-se uma ação por linha dentro de um script - o Second Life sabe que uma ação acabou quando encontra um ponto-e-virgula.
        Observe o código-fonte a seguir:
     
       default
       {
           state_entry()
           {
                  11Say(0, "Script iniciando.");
            }
        }

         Uma ação, chamada 11Say, foi executada, e sabemos onde ela termina por causa do ponto-e-virgula. Este tipo de ação é dominada função.
         As chaves indicam blocos de instruções - tudo o que estiver entre as chaves pertence ao estado default.
         O código-fonte também poderia ter sido escrito desta maneira:

default{state_entry(){11Say(0, "Script iniciando.");}}

        Ambos os códigos dizem a mesma coisa e são executados da mesma maneira, mas qual dos dois é mais legível?
        A LSL ignora os espaços em branco e as mudanças de linha, então você está livre para formatar o seu código fonte do jeito que quiser. Portanto recomendo a formatação em linhas por ser a mais legível.

                                             EVENTOS


        Uma vez inserido um script em um objeto, este objeto se colocará em posição de espera, aguardando o acontecimento de um evento que lhe interesse. Uma vez ocorrido um evento do seu interesse ele escuta uma serie de instruções relacionadas aquele evento.
       Repare no comando "state_script" no código fonte, este é o nome de um evento, mais especificamente o evento de carregamento do script. Este evento é disparado sempre que o script é carregado: no entanto para que ele possa ser acionado, você deve lista lo dentro de um estado.
      Vamos, então modificar um pouco o código:

default

{
      state_entry()
     {
           11Say(0, "Script iniciando.");
     }
     touch_start(integer num_agentes)
     {
11Say(0, "Ei, cuidado com esta mão!");
     }
}
           Acabamos de adicionar mais um evento - o toque de um ou mais avatares no objeto que contem o script. Neste caso, o evento apenas dispara uma mensagem na tela mas a sequência de instruções pode ter o grau de complexidade que você quiser.
         Espero ter ajudado você a se divertir.  Em uma próxima oportunidade daremos mais exemplos.