lsl - linden scripting language trabalhando com scripts parte 3 monitora: cintia caetano mestrado...
TRANSCRIPT
![Page 1: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/1.jpg)
LSL - Linden Scripting LanguageTrabalhando com Scripts
Parte 3
Monitora: Cintia CaetanoMestradoUFF – IC2009/01
11
![Page 2: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/2.jpg)
2
Movimentação e Rotação Na vida real, nos preocupamos apenas em ir
para frente, para trás, para algum lado, vários aspectos relacionados a movimentação são totalmente desnecessários para que possamos viver sem problemas.
Já no SL, certos fundamentos de física são necessários.
Vamos verificar alguns conceitos necessários, e depois vamos ver e estudar algumas funções relacionadas.
2
![Page 3: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/3.jpg)
3
Movimentação e Rotação No SL, temos também os pontos cardeais,
que podem ser verificados observando o mini-mapa.
Como na vida real, também pode andar para frente, de costas, e para os lados.
Isso não se aplica somente a você, os diversos objetos, incluindo veículos, balas, etc., também fazem uso destes dois sistemas de referência.
3
![Page 4: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/4.jpg)
4
![Page 5: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/5.jpg)
5
Global X Local No SL, definimos nossos movimentos e
rotações para serem executados local ou globalmente.
Global - é toda movimentação ou rotação relativa a norte, sul, leste e oeste (ao mundo). Uma movimentação global não leva em conta se você, assim como seu objeto, esta de lado, de frente ou de costas.
5
![Page 6: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/6.jpg)
6
Global X Local Local – é toda movimentação ou rotação
relativa unicamente a você, ou ao objeto.
Não importa se é norte ou sul, se esta de frente para onde deseja chegar, está indo para frente, se o seu destino esta atrás de você, está andando de costas, e se deseja chegar a um local que esta em um dos seus lados, esta andando de lado.
6
![Page 7: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/7.jpg)
7
Representação Matemática Utiliza-se o plano cartesiano para representar
tanto a movimentação global quanto a local.
O plano cartesiano é composto de três retas, a qual chamamos a cada uma de: eixo x, eixo y e eixo z.
O eixo x representa, no SL, a movimentação relativa à Leste-Oeste.
O eixo y a movimentação relativa à Norte-Sul. O eixo z é relativo à altitude.
7
![Page 8: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/8.jpg)
8
Representação Matemática No SL, a unidade de medida é metros,
alcançando um precisão de até 1 milímetro.
Com isto temos que nossos eixos poderão variar de 0,001 metros (um milímetro) até o limite da região onde estamos.
Nota: Cada território é um quadrado 255x255.
Ao trabalhar com movimentação, usaremos um valor do tipo vector.
<float, float, float>
8
![Page 9: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/9.jpg)
9
Representação Matemática Crie um novo objeto, e verifique os eixos de
movimentação sobre ele.
Observe no mini-mapa os pontos cardeais que eles apontam.
Observe que o eixo x (cor vermelha), o eixo y (cor verde) e o eixo z (cor azul).
Na opção girar, observe que as cores continuam indicando exatamente sobre qual eixo giram.
9
![Page 10: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/10.jpg)
10
Representação Matemática Por mais que movimente e gire seu objeto, os
eixos permanecem inalterados.
Este comportamento é devido ao fato de estarmos utilizando referencia global.
10
![Page 11: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/11.jpg)
11
Representação Matemática Todo objeto, mesmo uma bola, possui uma
face, ou lado, que é considerado como sua frente.
Caso emitirmos um comando para o objeto ir para frente, é a direção em que esta face aponta que nosso objeto seguira.
11
![Page 12: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/12.jpg)
12
llGetPos / llSetPos llGetPos(); Esta função simplesmente retorna um valor do
tipo vector, representado a localização do objeto, em relação ao território onde esta.
llSetPos(posição); Informa ao objeto qual será sua nova posição.
O valor passado como argumento da função é um vector com as coordenadas desejadas.
Não funciona para objetos físicos.
12
![Page 13: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/13.jpg)
13
llSetPos O objeto não se desloca até chegar a posição
final, ele vai direto á posição informada.
Esta função possui um delay de 0.2 segundos.
Temos uma limitação de 10 metros na distância que definimos como destino.
Nota: Se desejarmos que o objeto suba 30 metros, devemos fazer um loop para que a função seja executada 3 vezes, especificando 10 metros como incremento em seu eixo z.
13
![Page 14: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/14.jpg)
14
llVecDist llVecDist(posição1, posição2); Utilizado para saber a distância exata entre
dois objetos.
Retorna um float contendo a distância entre a posição 1 e a posição 2.
Passa o vector da posição de cada um deles com primeiro e segundo argumento.
14
![Page 15: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/15.jpg)
15
llVecMag llVecMag(posição); Esta função retorna a distância que a posição
passada como argumento esta da posição <0.0,0.0,0.0>.
Esta função retorna um float.
A distância é expressada em metros.
15
![Page 16: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/16.jpg)
16
llGround / llStopMoveToTarget llGround(deslocamento); Retorna um float com a altura da terra, na
posição especificada por deslocamento.
llStopMoveToTarget(); Faz o objeto parar de se mover.
16
![Page 17: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/17.jpg)
17
llMoveToTarget llMoveToTarget(posição, tempo); Esta função atua sobre objetos físicos,
fazendo com que o objeto alcance a posição passada como parâmetro, dentro do tempo (em segundos).
Nota: o objeto se mantém movimentando para a posição, mesmo depois de chegar a ela.
Seria como se disséssemos ao objeto, “mova-se para tal posição, em tantos segundos, e permaneça lá ate outra ordem”.
17
![Page 18: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/18.jpg)
18
llMoveToTarget A posição especificada não pode estar a mais
de 66 metros de distância.
Se especificarmos um tempo de 0.0 segundos, o objeto para de se mover.
18
![Page 19: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/19.jpg)
19
Relembrado Rotation Este tipo manipula rotações.
Representa um elemento matemático chamado de quaternion.
É formado pelos eixos x, y e z, e um quarto número, representa se a rotação será pela esquerda ou direita.
Em SL, para acessar cada elemento deste vetor, especificando .x, .y, .z ou .s
19
![Page 20: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/20.jpg)
20
Graus e Radiandos Escalas que medem as rotações de um objeto.
Infelizmente, o SL não trabalha diretamente com graus, e sim com radianos.
Porém, temos algumas facilidades (funções) que nos permitem converter de graus para radianos sem maiores dificuldades.
20
![Page 21: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/21.jpg)
21
Graus e Radiandos Para nós, o importante é saber que:
360º = 2 * PI = TWO_PI radianos Nota: PI é uma constante matemática que vale
aproximadamente 3,14.
Para especificar uma rotação de 360º em radianos, utilizamos 2*P ou TWO_PI.
21
![Page 22: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/22.jpg)
22
Graus e Radiandos 180º = PI radianos (mesmo racionio anterior) Para especificar uma rotação de 180º em
radianos, utilizamos PI
90º = PI_BY_TWO = PI/2 radianos Para especificar uma rotação de 360º em
radianos, utilizamos PI_BY_TWO
22
![Page 23: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/23.jpg)
23
Graus e Radiandos DEG_TO_RAD Graus para Radianos. Quando o ângulo (em radianos) não for um
dos casos falados anteriormente, podemos converte-lo para radianos multiplicando o mesmo pela constante DEG_TO_RAD.
RAD_TO_DEG Converte radianos para graus.
Nota: as constantes citadas acima são em MAIUSCULAS.
23
![Page 24: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/24.jpg)
24
Euler Leonhard Euler foi um matemático e físico que
desenvolveu um sistema de referência chamado Ângulos de Euler.
Para dar uma orientação a um objeto específico, é necessário submetê-lo a uma seqüência de três rotações descritas pelos ângulos de Euler.
Trabalhar diretamente com o tipo rotation não é tarefa fácil.
24
![Page 25: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/25.jpg)
25
Euler Precisamos especificar o valor de rotação (em
radianos, para cada eixo, e especificar o sentido e quantidade de rotações.
Para facilitar nossa vida, podemos usar um valor do tipo vector, na qual apenas trabalharemos com 3 valores, representando cada um dos eixos.
25
![Page 26: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/26.jpg)
26
Euler Esta forma de representar rotações, é
conhecida com Representação Euler de uma rotação.
A representação de Euler pode ser convertida para Rotation através de funções.
Na representação Euler trabalha com graus.
Sendo assim, além de convertê-la para rotation, também precisamos converter os valores em graus para radianos.
26
![Page 27: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/27.jpg)
27
Euler Quando emitimos um comando para que um
objeto se mova, temos 2 opções:
1. Sabemos para qual posição queremos que nosso objeto se mova, relativo a região em que esta. Podemos usar llSetPos para objetos não físicos, e llMoveToTarget para objetos físicos.
27
![Page 28: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/28.jpg)
28
Euler2. Quisermos que o objeto se mova para
frente, tantos metros. Precisamos conhecer a rotação de um objeto, para saber se aponta para a direção correta que queremos que se mova, caso esteja fora da rotação adequada, teremos que saber quanto e sobre qual eixo rotacionar o objeto, para que nosso movimento seja exato.
28
![Page 29: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/29.jpg)
29
llEuler2Rot llEuler2Rot(rotação); Retorna um valor do tipo rotation, a partir do
vector rotação passado como argumento.
Após definirmos uma rotação, na representação Euler, convertemos para rotation passando a mesma para esta função.
Observe que precisamos também converter o valor em graus para radianos, fazendo uso da constante DEG_TO_RAD.
29
![Page 30: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/30.jpg)
30
llRot2Euler llRot2Euler(rotação); O inverso da função anterior. Transforma o
valor do tipo rotation passado como parâmetro, para um vector em representação Euler.
Nota: Não se esqueça de usar a constante RAD_TO_DEG para transformar os radianos em graus.
30
![Page 31: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/31.jpg)
31
llGetRot / llSetRot llGetRot(); Retorna um valor do tipo rotation, represen-
tando a orientação do objeto.
llSetRot(rotação); Esta função rotaciona o objeto para a nova
orientação, especificada pelo parâmetro passado com um valor do tipo rotation.
Funciona apenas com objetos não-físicos.
31
![Page 32: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/32.jpg)
32
llTargetOmega llTargetOmega(eixo,volta,força); Esta função rotaciona um objeto sobre o eixo
especificado pelo valor do tipo vector, passado como parâmetro.
O argumento volta, é uma valor do tipo float, e especifica o número de revoluções (voltas, girar em torno do eixo especificado) que o objeto fará.
As revoluções são em radianos por segundo, e basicamente determina quão rápido nosso objeto ira girar.
32
![Page 33: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/33.jpg)
33
llTargetOmega O último parâmetro, força, é útil apenas em
objetos físicos, apesar de não poder ser 0 em objetos não físicos. Basicamente determina a força com que o objeto ira girar.
llTargetOmega atua diferentemente em objetos físicos e não físicos.
Objetos físicos = utiliza os eixos do objeto (rotação local).
Objetos não-físicos = utiliza eixos globais.
33
![Page 34: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/34.jpg)
34
Diferença A diferença entre llTargetOmega e llSetRot
llSetRot rotaciona o objeto apenas uma vez, orientando o mesmo na rotação indicada
llTargetOmega rotaciona o objeto continuamente.
34
![Page 35: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/35.jpg)
35
Exercício 7 Crie uma esfera (não-física) e insira o seguinte código:
default {
state_entry() {
llTargetOmega(<0.0,0.0,1.0>,TWO_PI,1); }
}
Faz com que o objeto fique rotacionando sobre seu eixo z. O objeto completará uma volta completa a cada segundo.
35
![Page 36: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/36.jpg)
36
Exercício 8 Crie um cubo (não-físico) e insira o seguinte código:
vector e_rot; //variável Euler
rotation rot; //variável rotation
default{ state_entry() { } touch_start(integer c) { e_rot=<50.0,90.0,90.0>; //atribui orientação ao vetor
rot=llEuler2Rot(e_rot * DEG_TO_RAD); //atribuí o retorno da função llEuler2Rot sobre o vetor Euler - retorna um valor do tipo rotation
llSetRot(rot); //rotaciona o objeto
}}
36
![Page 37: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/37.jpg)
37
Exercício 9//Não consegue um movimento uniforme devido ao delay da função llSetRot.
vector e_rot=<0.0,0.0,45.0>; //declara vetor e atribui uma rotação de 45º em z
rotation rot;default{ state_entry() { llSetTimerEvent(0.1); //prepara o evento timer p/ responder a cada 1 seg.
rot=llGetRot(); //guarda a orientação atual na variável rot
e_rot=e_rot * DEG_TO_RAD; //transforma graus em radianos
} //evento Timer timer() { rot= rot * llEuler2Rot(e_rot); llSetRot(rot); //atualiza a orientação do objeto, girando em mais 45º graus
}} 37
![Page 38: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/38.jpg)
38
Exercício 10 Crie um objeto físico e coloque o seguinte código:
default {
state_entry() {
llTargetOmega(<0.0,0.0,1.0>,TWO_PI,1.0); } touch_start(integer c) {
llMoveToTarget(<60.0,150.0,40.0>,5); llSetTimerEvent(2);
} timer() {
llStopMoveToTarget(); llSetTimerEvent(0.0);
} } 38
![Page 39: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/39.jpg)
39
Exercício 11default { state_entry() { llSetText(" Objeto que gira sem parar ", <0.0,1.0,0.0>,1.0); // rotacionando o eixo x uma vez por segundo // rotacionando o eixo y 3 vez por segundo // rotacionando o eixo z uma vez por segundo llTargetOmega(<1.0,3.0,1.0>,TWO_PI,1.0); }}
39
![Page 40: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/40.jpg)
40
Exercício 12default { state_entry() { llSetText(" Clique para girar ", <0.0,1.0,0.0>,1.0); state voltar; } } state ir { touch_start(integer total_number) { llSetText(" Clique para parar ", <0.0,1.0,0.0>,1.0); llTargetOmega(<1.0,3.0,0.5>,TWO_PI,1.0); state voltar; } }
40
![Page 41: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/41.jpg)
41
Exercício 12state voltar { touch_start(integer total_number) { llTargetOmega(<0.0,0.0,0.0>,0,0.0); llSetText(" Clique para girar ", <0.0,1.0,0.0>,1.0); state ir; } }
41
![Page 42: LSL - Linden Scripting Language Trabalhando com Scripts Parte 3 Monitora: Cintia Caetano Mestrado UFF – IC 2009/01 1 1](https://reader036.vdocuments.mx/reader036/viewer/2022062418/552fc105497959413d8c0767/html5/thumbnails/42.jpg)
42
Bibliográfia Guia de Script no Second Life. By Valdinei Rodrigues dos Reis
Creating Your World: The Official Guide to Advanced Content Creation for Second Life. by Aimee Weber, Kimberly Rufer-Bach and Richard Platel. Wiley Publishing, Inc. ISBN: 978-0-470-17114-1
Second Life For Dummies. By Sarah Robbins, Mark Bell. Wiley Publishing, Inc. ISBN: 978-0-470-18025-9.
Second Life: o Guia Oficial. By A P Watt Ltd. Editora: Ediouro. Ano: 2007. Edição: 1. ISBN: 9788500019616.
LSL Guide
http://wiki.secondlife.com/wiki
42