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:
Enregistrer un commentaire