lundi 24 décembre 2007

llSetPos

Aujourd'hui on va voir comment déplacé un prim grâce à l'instruction llSetPos. Tout d'abord revoyons la notion de vecteur car elle sert aussi pour les positions. en effet, cela permet de déterminer l'emplacement d'un objet dans l'espace. Chaque nombre représente les axes x, y, z de l'objet.
En complément à cette fonction nous avons aussi llGetPos qui nous retourne la position actuelle de l'objet. Le script ci dessous déplace l'objet lorsque l'on rentre en collision avec et le remet à sa place quand on le touche. Disons que ca pourrait servir pour une porte.
La partie importante et délicate est celle de l'addition de vecteur, chaque terme s'ajoute un à un.
<10,10,10>+<0,0,1>=<10,10,11>
en ajoutant un vecteur à la position de l'objet on le déplace.

// defini un vecteur pour la position de l'objet
vector pos;
default
{
state_entry()
{

}
collision(integer total_number)
{
// sauvegarde la position initiale
pos=llGetPos();

// on redéfini l'emplacement de l'objet en le décalant de 1 m
// sur l'axe des y
llSetPos(pos+<0,1,0>);

}

touch_start(integer total_number)
{
//remet en place l'objet
llSetPos(pos);

}


}

Aucun commentaire: