Archivo de la etiqueta: unity

Vuelvo a la carga con nuevo juego

Estoy de vuelta con nuevas ideas y nuevo juego. De momento voy a centrarme en una demo de unas cuantas salas y la mecánica básica y si gusta lo seguiré desarrollando.
La idea es hacer un juego estilo pixel con carácter post-apocalíptico. Se podrá craftear y todavía no tengo claro si podrá llevar armas o será totalmente de sigilo.

Puedes ver un vídeo inicial aquí: https://youtu.be/eM6YJe5PnCg

Formateando tiempo a horas, minutos y segundos en Javascript

En algunas ocasiones nos puede hacer falta formatear el tiempo transcurrido a un formato legible. Esto suele pasar en juegos de carreras o contra reloj. Para el usuario es mucho más fácil leer 01:01:01 hh/mm/ss que por ejemplo 3.661 segundos. Para realizar esta tarea necesitamos un código como el siguiente:

Cambiar punto de pivote en un sprite múltiple

El cambio de pivote en un sprite múltiple es muy parecido al cambio de pivote en un sprite simple. Solo hay que abrir el “Sprite Editor” con nuestro sprite múltiple, seleccionar el sprite en el que queramos cambiar el pivote y, bien podremos hacerlo arrastrando el pivote con el puntero del ratón o mediante el cambio de los valores X e Y del panel del sprite.

Mathf.Clamp ajustando un valor dentro de dos parámetros

Mathf.Clamp es una pequeña función que nos ayuda a ajustar un valor entre dos valores dados. Por ejemplo para ajustar la vida de un personaje entre 0 y 100.

Point and Click mediante walkpoints

Sistema de navegación Point and Click para aventuras gráficas mediante Walkpoints. Con Unity 2D y Javascript. La idea es crear un sistema de navegación fácilmente modificable, así el personaje se desplazaría al walkpoint más cercano de nuestro click en la pantalla.

La lógica es buscar todos los prefabs etiquetados con el label walkpoint y seleccionar el punto más cercano. De este modo nuestro spawn sabrá a qué punto debe dirigirse.

Sigue leyendo

Eliminar prefab permitiendo terminar el sonido

En un artículo anterior recomendé no poner el sonido dentro del prefab o GameObject (una bala por ejemplo), ya que podía iniciarse Destroy antes de finalizar el sonido y quedar cortado. Me equivoqué. La lógica dice (y que poco a poco voy aprendiendo soluciones mejores) que si lo ideal es hacer un prefab ¿porqué vamos a excluir su sonido?. La solución para que no quede cortado es asegurarse que Destroy se aplica una vez el sonido ha finalizado. Por eso se tienen que aplicar estos pasos:

  1. Hacer desaparecer el prefab visualmente.
  2. Eliminar su Collider para evitar otras colisiones
  3. Calcular el tiempo de reproducción del sonido y aplicar Destroy

Prototipo Flappy Bird Unity

Inicio la categoría de prototipos con el desarrollo rápido de un prototipo de Flappy Bird con Unity 2D.

Sigue leyendo

Algunas cosas que he aprendido en Unity 2D

No soy programador, al contrario, soy diseñador gráfico e ilustrador pero siempre se me ha dado bien la programación. Por eso os invito a opinar y mejorar mi código. A lo que vamos…

He estado dándole un poco a Unity 2D con unos sprites y animaciones que diseñé hace algún tiempo y que quería recuperar. Sí, el mago, el dragón y el fondo que aparecen en casi todos los últimos ejercicios.

Voy a dejar todo el código que he ido elaborando e intentaré explicar los puntos que creo se podrían mejorar o los más importantes.

Lo primero que recomiento es actualizar o descargar Unity 4.5 (si no lo has hecho ya) porque las versiones anteriores siempre tienen bugs que se van reparando con las últimas versiones.

Sigue leyendo

Ordenar sprites con sortingOrder

En algunos momentos necesitamos actualizar el orden de las capas para que el player pueda pasar por delante y por detrás de algunos elementos según su posición. Más en juegos tipo 2.5D o isométricos. En la imagen inferior vemos como sin intercambiar el orden de la pócima en un momento determinado podríamos pasar por encima de ella haciendo una perspectiva irreal.

La solución que he implementado seguro que no es la mejor pero puede funcionar. Calculando la posición “y” del player todos los objetos que estén por encima, y apliquemos el código inferior, tendrán el orden 0 y las que no orden 10. El player lo colocamos en el Order in Layer 5.

Sigue leyendo