Recursos: Programación, caracteres especiales



Para insertar caracteres especiales en sistemas Windows se hace mediante la pulsación de la tecla ALT y a continuación el teclado numérico, dependiendo de la codificación de la tabla usada ASCII, Unicode, etc, saldrán unos caracteres u otros. En los teclados donde las seis primeras letras son QWERTY, es de codificación ASCII y basado en el alfabeto latino (Código Estadounidense Estándar para el Intercambio de Información), y constan de 128 caracteres.

Cuando se esta programando se hace necesario el uso de algunos de estos caracteres, como el símbolo menor que, las llaves... etc pero no aparecen en nuestros teclados lógicamente por la falta de espacio. Se puede recurrir a la aplicación de Window mapa de caracteres y buscar el símbolo necesario.





  • Codificación ASCII

Almohadilla  #  ALT + 35Dolar $  ALT + 36
Euro €  ALT + 0128
Menor que <  ALT + 60Menor que >  ALT + 62
División ÷  ALT + 246 
Mas menos que ±  ALT + 241
Diagonal /  ALT + 47Diagonal \  ALT + 92 
Barra |  ALT + 0124
Sección §  ALT + 21 
Corchete [  ALT + 91Corchete ]  ALT + 93
Llave {  ALT + 123Llave }  ALT + 125
Ordinal Masculino º  ALT + 0186
Virgulilla ~ ALT + 126


  • Sistema de codificación Unicode:

Suma ∑  U + 2211
Infinito ∞  U + 221E
Igual o menor que ≤  U + 2264  
Igual o mayor que ≥ U + 2265 
No igual a ≠  U + 2260 
Casi igual a ≈  U + 2248

En la web de MSDN en este link, se puede consultar un apartado dentro de Visual Basic 2015 "operadores de C#", donde se muestra el operador y la función que desempeña.
Leer Más 0 comentarios

Recursos: Scripts



Este post se actualizara periódicamente, donde incluir una recopilación de scripts para poder adaptarlos e incluirlos en proyectos de nuestros videojuegos, apps o simplemente para practicar con ellos probarlos y mejorarlos. También en foros como el de UnitySpain, aquí, tiene lo que llaman una mesa de ayuda sobre scripting donde se pueden hacer consultas, ver como otros han resuelto algunos problemas, o como programar ciertas acciones.


  • Interruptor de luz, apaga y enciende la luz pulsando una tecla.
using UnityEngine;
using System.Collections;

public class LightSwitch : MonoBehaviour {

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

          if (Input.GetKeyDown(KeyCode.Space)) {

              if (light.enabled == true)
                light.enabled = false;

              else
                light.enabled = true;

          }

      }

}

  • Apagar y encender la música de fondo, pulsado una tecla.
using UnityEngine;
using System.Collections;

public class AudioSwitch : MonoBehaviour {

private AudioSource audioBackground;

      // Use this for initialization
      void Start () {

        audioBackground = GetComponent();

      }

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

          if (Input.GetKeyDown(KeyCode.Space)){

              if (audioBackground.isPlaying){

                  audioBackground.Stop();

              }

              else if (!audioBackground.isPlaying){

                  audioBackground.Play();

              }

          }

      }

}
Leer Más 0 comentarios

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í.
Leer Más 0 comentarios

Engine: Pygame



Pygame, no es un engine propiamente dicho, es más un framework gratuito, desarrollado del lenguaje Python, con el  se pueden desarrollar videojuegos en 2D al estar orientado al manejo de sprites, programando claro esta en Python. Además es pultiplataforma y no se encuentra limitado para desarrollar solamente videojuegos, tambien se pueden crear contenido multimedia, como aplicaciones, interfaces gráficas, animaciones, vídeos,  etc...


Su web puede resultar algo confusa, desde el menú se puede acceder a tutoriales en inglés, y a los foros donde otros usuarios pueden ayudar a crear o resolver dudas de tu proyecto. Para descargarlo en este link, donde se puede ver el contenido también de lo que es la web antigua.

La instalación también se nos puede complicar un poco pero en este videotuturial realizado por CodigoPlusPlus, lo explica, y en este otro link unos tutoriales para aprender las bases de programación de Pygame.





Python, es un lenguaje de programación interpretado, es multiplataforma, soporta programación orientada a objetos. Esta diseñado para poder ser leído con facilidad. Hay una traducción del tuturial oficial de Python por Wiki PyAr y desde donde se puede tener acceso al tuturial en este link, tanto de Python 2 como de Python 3 y Django, además de descargar el proyecto de Github aquí.
Leer Más 0 comentarios