UnrealScript
El UnrealScript (comúnmente abreviado como UScript) es aquel script empleado por el motor Unreal (Unreal Engine) empleado para la creación de código y eventos de un videojuego. El lenguaje fue diseñado para una programación de alto nivel sencilla. El UnrealScript fue programado por Tim Sweeney, quien también creó el lenguaje de programación para videojuegos ZZT-oop.
De manera similar a Java, UnrealScript es orientado a objetos sin herencia múltiple (todas las clases heredan de una clase/objeto común) y todas las clases son definidas en archivos individuales nombrados con respecto a la clase que definen. A deferencia de Java el UnrealScript es sensible al uso de mayúsculas y minúsculas y no tiene wrappers de objeto para tipos primitivos.
Las interfaces solo son soportadas en la generación 3 del motor Unreal y en algunos juegos del motor Unreal 2. El UnrealScript soporta la sobrecarga de operadores mas no la sobrecarga de métodos, con la excepción de parámetros opcionales.
Al facilitar el proceso de modificación de un juego el UnrealScript ayudó al crecimiento de una gran comunidad de modding orientada a Unreal. Esto ha contribuido enormemente a la longevidad de Unreal y ha incentivado el desarrollo.
Sintaxis
Comentarios en código
El UnrealScript usa dos estilos de comentarios, el comentario de línea sencilla (iniciando con //
hasta el final de la línea) y el comentario multi-línea (delimitado por /*
y */
).
// Comentario de línea sencilla class Foo extends Object; /* Comentario Multi-línea */ var Object Foo;
Los tipos de datos
Primitivos
- Bool - Un booleano que permite que los valores de verdad , y falso , lo que es lo mismo que 1 y 0.
- Byte - Un valor entero sin signo 8Punta que puede variar de 0 a 255.
- Enum.
- Float.
- Int Un valor entero de 32 bits que puede variar -2147483648 hasta 2147483647.
- Name - Una versión más restringida de cuerdas, permitiendo sólo los siguientes caracteres ([a-zA-Z0-9_ \ -] *), tal como se expresa en la expresión regular. Por ejemplo, "name_example".
- String - Es una serie Unicoide de caracteres como "ABC".
Referencia
- Class
- Delegate
- Interface
- Object
- Pointer
Compuestos
- Array
- Struct
Funciones
UnrealScript utiliza funciones similares a C / C ++ / Java . Las funciones se declaran con la palabra clave: la función , seguido por una de tipo opcional de regreso, su nombre que desee y, finalmente, sus parámetros de función.
Funciones
El UnrealScript utiliza funciones similares a C y C++. Las funciones se declaran con la palabra clave: function, el tipo de retorno: int, el nombre: función_ejemplo y finalmente la función de parámetros se incluyen entre paréntesis: (int numero_ejemplo). El cuerpo se incluye entre llaves: { numero ejemplo = 5; }. Antes de la última llave se puede llamar una función de retorno que regresará un valor a la función original.
function int función_ejemplo(int numero_ejemplo) { numero_ejemplo = 5; return numero_ejemplo; }
Esta función toma la variable entera numero_ejemplo, cambia su valor a 5 y lo regresa a la función que la llamó originalmente.
Ejemplo "Hola mundo"
El siguiente es un ejemplo "Hola mundo" usando la sintaxis del UnrealScript.
class HolaMundo extends GameInfo; event InitGame( string Opciones, out string Error ) { `log( "Hola mundo" ); }
El siguiente texto será impreso a la consola cuando se inicialice HolaMundo:
Hola mundo!
Datos: Q1191442