sábado, 12 de marzo de 2016

Recursos: Scripts C#



Un script es un archivo de ordenes de texto plano programado por ti, y que es compilado por un interprete de código (programa informático). En Unity 3D estos script se pueden escribir en dos lenguajes de programación nativamente que son C# (C-Sharp), similar a C++, y UnityScript una variante de JavaScript para adaptarlo a Unity. Se usa un editor de texto por defecto llamado MonoDevelop, aunque se podrá elegir otros como Visual Studio, etc... desde las preferencias de Unity 3D.

Cuando creas un script en Unity 3D lo puedes agregar a un GameObject, que es un componente de Unity, puede ser desde la cámara, a una luz, una primitiva, o un objeto 3D creado en un programa de modelado 3D como son Blender 3D o 3DStudio. Este script sera interpretado por Unity y tratado como un componente más.

Un script se le asigna una clase y se especifica todos sus atributos y métodos.

using UnityEngine;
using System.Collections;

public class MainPlayer : MonoBehaviour {

      // Use this for initialization
      void Start () {

      }

      // Update is called once per frame
      void Update () {

      }
}

Antes de empezar a programar se debe tener en cuenta lo que se conoce como "Buenas Practicas de Programación", esto servirá para poder localizar antes los posibles errores, reutilizar nuestro código para otros proyectos, y en el caso de que se este trabajando con otros programadores puedan entender el código y seguir trabajando en el. Si se aprende desde el principio se convertirá en una habito que saldrá de manera automática, haciendo que nuestro código sea más limpio y legible.

Vista de Visual Studio

En esta lista se recogen solo algunas recomendaciones de los estándares que existen:

  • Keep it simple, o lo que es lo mismo escribe lo más simple posible.
  • Ajusta las preferencias del compilador para que localice la mayor cantidad de errores
  • Comenta cuando cuando sea relevante o necesario las partes del código que quieras localizar, destacar o describir el comportamiento de algunas funciones del mismo.
  • Establece una identación coherente, respetando los espacios dados en los bloques a lo largo de todo el código. Es recomendable usar espacios y no tabs.
  • Usa nombres descriptivos, y a ser posible en inglés ya que es el idioma estandar en programación. Cuando los nombres de las variables sean largos puedes usar el método CamelCase, que consiste en poner las iniciales en mayúsculas, o introduciendo guiones en lugar de espacios. Unity 3D lo interpretara tanto el uso de camelCase, CamelCase o el "_" como un espacio en el inspector de Unity, y no usar caracteres especiales, acentos ni eñes.
    • Clases, los nombres de las clases deberían ser CamelCase, con su inicial en mayúsculas, ejemplo: "PlayerOne".
    • Variables, propiedades, funciones y métodos, estos sin embargo deberán ser camelCase, con su inicial en minúscula, ejemplo: "lifePlayer", aunque pueden contener guiones en nombres largos, ejemplo: "life_player_one".
    • Propiedades y métodos privados, para los elementos privados se reservara el uso del “guion bajo” al inicio, por ejemplo" _audio.
  • Utilizar namespace para agrupar clases y evitar colisión de nombres.
Vista de la interface de Unity 3D

En la web de Unity 3D en la parte de documentación, tiene un manual que habla entre otras cosas del scripting, se encuentra en castellano además, y se puede consultar en este link, también en su web en tutoriales se puede consultar el código de algunos scripts desde cero hasta un nivel más avanzado, su uso e impementación, en este enlace. También se puede obtener más información de un "Taller de introducción en desarrollo de videojuegos", realizado por DgZurdo, Danilo Giardina, que se puede ver en su canal de youtube aquí.

COMENTA