::: Criando uma Porta com abertura Lateral (sliding)

Posted by VOITENA Millet | Posted in , , | Posted on 14.8.10

Olá...

Neste tutorial iremos criar uma porta que será aberta Lateralmente por colisão ou por toque, ou seja, esta porta abrirá com você clicando ou apenas se aproximando dela.

Início do Tutorial:

Crie um objeto (prim) e edite ele para termos um formato de porta com as seguintes dimensões:
Na aba Objeto edite para :
Tamanho (metros):
X = 2.000
Y = 0.100
Z = 3.000


Agora vamos aplicar a textura em nossa porta, usaremos a mesma textura do outro tutorial de porta que consta no link abaixo:
http://sltutoriais.blogspot.com/2010/03/criando-um-porta.html


Agora salve este textura em seu computador e leve-a para o SL para aplicarmos como teste em nossa porta, lembre que, você poderá trocar a textura da porta conforme sua necessidade esta textura é apenas para teste caso você não possua nenhuma textura no inventário de seu avatar.

Obs.: Lembre que cada imagem trazida o SL lhe custará L$ 10,00 (dez lindens).


Na aba Conteúdo crie um novo script e renomeie para Script Porta Lateral, faça uma cópia deste script para seu inventário, coloque-o na pasta scripts.

Copie o Script a baixo e cole dentro deste arquivo.


// Início Script

float delay = 10.0; // tempo para auto fechamento da porta em segundos deixe 0.0 para nao fechar automaticamente
vector delta = <2.0, 0.0, 0.0>; // distancia lateral para abertura de porta X-Y-Z sendo X(lateral) - Y(profundidade) - Z(altura)
vector closed_position;
float volume = 0.5; // 0.0 desligado, 1.0 volume baixo

key open_sound = "cb340647-9680-dd5e-49c0-86edfa01b3ac";
key close_sound = "e7ff1054-003d-d134-66be-207573f2b535";

default {
state_entry() {
closed_position = llGetPos();
state closed;
}
}
state closed {

state_entry() {
llTriggerSound(close_sound, volume);
llSetPos(closed_position);
}
touch_start(integer total_number) {
state open;
}
collision_start(integer total_number)
{
state open;
}
}
state open {
state_entry() {
llTriggerSound(open_sound, volume);
llSetPos(closed_position + delta);
llSetTimerEvent(delay);
}
touch_start(integer total_number) {
state closed;
}
collision_start(integer total_number)
{
}
timer()
{
llSetTimerEvent(0.0);
state closed;
}
}

// Final Script


Após isso feito salve seu script.

Pronto, temos nossa construida e pronta para uso, renomeie este objeto para Porta Lateral, e deixe com as opções Copiar e Modificar, assim você poderá fazer várias copias desta porta e aplicar conforme suas necessidades.


Lembre de sempre resetar o script após posicionar a porta, pois este script sempre memorizará sua posição inicial, logo após definir sua posição definitiva, resete o script.
Para isso abra o script dentro do seu Objeto Porta Lateral, e clique em Resetar.

Espero que este tutorial tenha ajudado vocês.

Sucesso a Todos!


Tutoriais mais consultados: