domingo, 16 de octubre de 2011

Declaración de variables, tipo, inicialización y alcance

En LSL una variable puede declararse en varios puntos del script.
Una variable puede ser inicializada (tomar algún valor distinto del valor por defecto) tanto en el momento de su declaración, como desde cualquier punto en el que se tenga acceso a ella.
  • Puede declararse al principio del script, antes de la zona de estados.
En este caso la variable es accesible desde cualquier punto del script.
Sería lo que podemos llamar una variable global.

string saludo = "¡Hola, Mundo!"; // Declaración / inicialización
string mensajeTocado;            // Declaración

default
{
  State_entry()
  {
     llSay(0, saludo);
     mensajeTocado="Tocado";
  }
  touch_start(integer total_number)
  {
     llSay(0, mensajeTocado);
  }
}

  • Puede declararse al comienzo de un estado, y en ese caso es accesible por todo el código que contenga ese estado
    default
    {
       string saludo = "¡Hola, Mundo!";
       string mensajeTocado;

       state_entry()
       {
          llSay(0, saludo);
          mensajeTocado="Tocado";
       }
       touch_start(integer total_number)
       {
          llSay(0, mensajeTocado);
       }
    }

    Esta entrada está sin completar. Espero poder terminarla en las próximas horas 

    jueves, 13 de octubre de 2011

    Utilización de variables y constantes

    Todos los lenguajes de programación poseen elementos que nos ayudan a estructurar y flexibilizar el código que desarrollamos.
    Dos de los elementos esenciales son
    1. Las variables
    2. Las constantes 
    Una definición "petarda" de lo que es una variable podría ser:
    • Es un elemento que apunta a una direccion de memoria y que es capaz de escribir y de leer en y desde ese punto de memoria..
    Pero a los efectos prácticos podemos establecer que
    • Una variable es una palabra que ponemos en el código, a la que podemos asignar valores y que nos puede devolver el valor que contiene o le hemos asignado.
    • Una constante es lo mismo que una variable pero con la diferencia de que una vez que se le asigna un valor, éste no debería cambiar (veremos que LSL en esto tiene sus peculiaridades) .
    Para poder utilizar en LSL una variable hay primero que declararla.

    miércoles, 12 de octubre de 2011

    Nuestro primer Script

    Como hemos comentado, un script debe estar dentro de un objeto, aunque puede crearse directamente a través de la opción [Script nuevo] desde la ventana de Inventario.
    Si en esta ventana presionamos el botón [+] nos dará la posibilidad de crear un Script simplemente presionando en esa línea.
    Tras ello el script aparecerá en nuestro inventario precisamente con el nombre Script Nuevo, aunque dependiendo del visor o la configuración que éste tenga, podrá aparecer con el nombre en inglés New script.
    Nota:
    Dado que al final, para poder aprovechar plenamente las nuevas funcionalidades todo los usuarios estarán abocado a utilizar los visores tipo 2 ó 3, en los ejemplos gráficos, trataré de utilizar ese tipo de visores, aunque a mí no terminan de convencerme.
    Reconozco que éste es simplemente un punto de vista totalmente personal.

    martes, 11 de octubre de 2011

    Declaración de intenciones

    Hoy martes 11 de octubre empiezo a publicar mi blog.
    Ante mí tengo un inmenso cuaderno en blanco, y como es normal, me asaltan toda una serie de dudas.
    ¿Cómo sacarle partido?...
    Aunque no resulte una novedad quiero convertir este blog en un diario sobre mis experiencias con el lenguaje LSL de Linden Lab.
    Un lenguaje que, pese a sus limitaciones, permite realizar expectaculares efectos en el metaverso de SL.
    Trataré de compartir mis experiencias, paso a paso, y seré claro en la descripción de cada script programado.
    La pregunta clave:
           ¿Es necesario tener conocimientos previos de programación?
    Mi respuesta:
             ¡NO!
    Voy a plantear este tutorial de forma que pueda ser asimilado por noveles en programación, aunque sería deseable tener una experiencia previa en el manejo de lenguajes de programación de alto nivel.
    ¿Qué lenguajes? eso es indiferente.