« Scripts LSL - porte » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
Ligne 41 : Ligne 41 :
           rotation delta = llEuler2Rot(<0.0,0.0,PI/2>);  
           rotation delta = llEuler2Rot(<0.0,0.0,PI/2>);  
           // Sens 2  
           // Sens 2  
           //rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>)
           //rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>);
           rot = delta * rot;
           rot = delta * rot;
           llSetRot(rot);
           llSetRot(rot);
Ligne 56 : Ligne 56 :
           rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>);  
           rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>);  
           // Sens 2  
           // Sens 2  
           //rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>)
           //rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>);
           rot = delta * rot;
           rot = delta * rot;
           llSetRot(rot);
           llSetRot(rot);

Dernière version du 18 décembre 2019 à 15:27

<source lang="ada">
  /*
   Script Acryline Erin 2019
   Porte
   Version 1
   Licence  : Attribution - Pas d’Utilisation Commerciale 4.0 France (CC BY-NC 4.0 FR)
   https://creativecommons.org/licenses/by-nc/4.0/fr/  
   Placer le script dans  une primitive.
 */

integer ouverture =0;

default {

   touch_start(integer nbr)
   {
      if(ouverture ==0)
      {
        ouverture =1;
        state ouvrir;    
      }  
      if(ouverture == 1)
      {
        ouverture = 0;
        state fermer;    
      } 
   }

}

state ouvrir {

    state_entry()
    {
         rotation rot = llGetRot();
         // Sens 1
         rotation delta = llEuler2Rot(<0.0,0.0,PI/2>); 
         // Sens 2 
         //rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>);
         rot = delta * rot;
         llSetRot(rot);
         state default;
    }

}

state fermer {

    state_entry()
    {
         rotation rot = llGetRot();
         // Sens 1
         rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>); 
         // Sens 2 
         //rotation delta = llEuler2Rot(<0.0,0.0,-PI/2>);
         rot = delta * rot;
         llSetRot(rot);
         state default;
    }

} </source>