Streaming para desarrollo de video juegos

Con el grupo Beers & Indies estamos realizando unos streamings sobre tips para el desarrollo de video juegos.

Si querés verlo: https://www.youtube.com/watch?v=sU7ABzmgkuk


Podcast LudoMix

La semana pasada participamos en LudoMix hablando de desarrollo de video juegos, Indies, y muchas otras cosas.

Podés escuchar el último programa (Y los anteriores) desde la siguiente dirección: https://drive.google.com/folderview?id=0B4keiOqeR8ChfmhpdnA2SU9SbERaZDJoZl90Y0tlbGQ1RWpNald6QXpMZm1YX3NneHUxakE&usp=drive_web


Hoy, en Radio, sobre desarrollos de video juegos Indies

Hoy estaremos con Sergio Moreno, hablando de Beers & Indies en el programa LudoMix de Radio Bicicleta.

http://www.radiobicicleta.com.ar/#/ludomix.html

8 PM, hora de Argentina. No se lo pierdan.


JavaScript Tip #6–Más sobre objetos diccionarios.

En el anterior post veíamos como interactuar con puntos de entrada en objetos donde su nombre contuviese un espacio en blanco.

Algo interesante en base a la forma en cómo acceden a estos puntos de entrada es que podemos recorrerlos, todos, mediante un bucle y ejecutar cada uno de ellos.

var o = {
    ‘Other Func': function () {
    },
    MyFunc: function () {
    }
};

Para este caso, tenemos dos funciones o dos puntos de entrada en el objeto O, de los cuales, asumiremos, no conocemos sus nombres pero necesitamos ejecutarlos a todos.

Como decía al principio, podemos recorrer todos estos y saber sus nombres.

for (var p in o) {
    console.log(p);
}

image

Luego, si quisiéramos ejecutar cada una de estas funciones, simplemente tendremos que realizar el mismo mecanismo que usamos en el post anterior.

for (var p in o) {
    o[p]();
}


JavaScript Tip #5–Nombres con espacio y acceso a elementos de un objeto

Sí, tiene un título largo, y es que resulta algo complicado describirlo usando una sola palabra (Y que se entienda), así que vamos con el ejemplo rápido.

var o = {
    ‘Other Func': function () {
    }
};

En el código de ejemplo hemos creado un objeto al estilo JSON. Para estos casos, los nombres de referencia pueden ser escritos de forma tradicional o colocándolos entre comillas, como si fuese un string, y como tal, pueden contener espacios.

Estos espacios son permitidos desde el punto de vista de JavaScript aunque luego, cuando intentemos acceder a esa función, el espacio entre las palabras no nos lo hará fácil.

Si inspeccionamos el objeto podemos ver que la función existe y podría ser accesible:

image

Por supuesto, si hacemos lo siguiente:

o.Other Func();

Esto nos arrojará un error, por lo que necesitamos otra forma de poder acceder a la función.

Para esto, lo que nos provee JavaScript es un mecanismo que se asemejaría a lo que podemos entender como un array, por lo que podríamos usar una representación, un índice, para esta función basada en el nombre.

Si lo llevamos a otros lenguajes, posiblemente en C#, podríamos compararlo con un Dictionary. Un objeto compuesto por una colección de pares tipo llave/valor.

Entonces, para poder acceder a la función en cuestión:

o[‘Other Func’]();

Esto nos garantizará la ejecución de este tipo de funciones, o el acceso a cualquier elemento dentro del objeto que contemple, como en este caso, un espacio.

Posiblemente se pregunten el motivo de tener estas referencias con espacios. El caso es que existen algunas herramientas, en especial en el mundo del desarrollo de video juegos, que suelen crear estructuras para mapear imágenes y sprites creando objetos tipo JSON donde sus propiedades contienen estos espacios.

Por supuesto también, dentro del concepto dinámico de JavaScript, podríamos tener código que se cree en base a su ejecución y agregue este tipo de comportamiento.


JavaScript Tip #4–Llaves

Algo que en JavaScript sí importa es la forma en cómo escribimos el texto que hace al código. En este caso, más allá de la sintaxis, la gramática es importante.

function A() {
return
{ valor = 123 };
}

En el código anterior, algo que podría ser tomado como natural o posible en otros lenguajes, en JavaScript puede ser un problema. Si llamamos a la función A, esta, al finalizar, en vez de retornarnos un objeto con una propiedad llamada “valor”, retornará undefined.

function A() {
return {
valor = 123
};
}

El código anterior puede verse idéntico desde la perspectiva de funcionalidad, pero el colocar la llave de apertura inmediatamente después del return hará que el código funcione como se espera.

Es importante, entonces, siempre colocar las llaves en la misma línea a la cual pertenece.


JavaScript Tip #3–Igualdades

Si estamos acostumbrados a otros lenguajes de programación, en especial aquellos con raíz en C o C++, les puede resultar extraño ver código JavaScript donde aparecen no dos iguales (==) sino tres (===) en el análisis de las condiciones.

JavaScript, para este caso, incluye el operador === (Junto a la variante !==) el cual es recomendado a la hora de comparar dos elementos:

var a = ‘1’;
var b = 1;
if (a == b) { … }

En el ejemplo anterior, a y b serán iguales, ya que JavaScript deberá hacer las conversiones necesarias para poder comparar los dos lados de la igualdad. Esto, por supuesto, consume tiempo.

if (a === b) {
   …
} else {
   …
}

En este caso, la condición será falsa, ya que el tipo de dato no es igual y no se realizarán conversiones para verificar la igualdad.


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.361 seguidores