domingo, 31 de julio de 2011

¡Animación gratis para tu juego!

Hoy no he podido actualizar el blog ni daros nada interesante a lo largo del día, puesto que es un domingo y no lo he trabajado :D

Hoy os dejo aquí un pequeño apaño, arreglo o ayuda para vuestro juego. No es gran cosa, no soy un grafista profesional, pero algo es algo.


Cómo veréis, no es más que una imagen PNG (con transparencias) acompañado de un plist. El archivo podéis conseguirlo desde uno de los servidores gratuitos que ocasionalmente usamos para subir nuestros pinitos, y en este caso lo alojaré en Megaupload

Descarga animación gratis / Download free animation

La razón por la que os "regalo" esta animación es porque la tengo para mi juego y aún no sé si usarlo como bonus, no usarlo, o tirarlo a la papelera :P Así que, por si acaso he hecho trabajo en vano, os lo doy. Casi lo olvido... Tiene la versión HD y la versión SD (iPhone 4 para HD y resto de dispositivos sin Retina display para la versión SD). ¡Disfrutadlo!

sábado, 30 de julio de 2011

Distancia de un punto a una recta

Bueno, en mis desarrollos de juegos/aplicaciones/chorradas muchísimas veces he tenido que hallar la distancia entre un punto y una recta. Siempre he acabado solucionándolo de una forma u otra. Pero siempre tenia las tediosas divisiones por cero... Tenía que comprobar siempre que el denominador fuera distinto de cero. O si era próximo a cero la precisión en la distancia se veía un poco comprometida... Debido a la precisión de los Float.


La fórmula es la llamada "Fórmula de Heron"  y se basa en la obtención del área de un triángulo.


x1, y1, x2, y2: Definen la línea.
px, py: Definen el punto.

-(float) distanciaPuntoRectaConPuntoX: (float) px PuntoY:(float) py LineaX1: (float) x1 LineaY1: (float) y1 LineaX2: (float) x2 LineaY2: (float) y2{
    float d1,d2,d3,s,area;
    d1 = sqrtf(pow(x2-x1,2) + pow(y2-y1,2));
    d2 = sqrtf(pow(x2-px,2) + pow(y2-py,2));
    d3 = sqrtf(pow(px-x1,2) + pow(py-y1,2));
    s = (d1 + d2 + d3) / 2;
    area = sqrtf(s*(s-d1)*(s-d2)*(s-d3));
    return (2*area)/d1;
}

Y eso es todo por hoy, simple pero efectiva fórmula de Heron. ¡Se acabaron los problemas!

Finalmente será un blog en Español

Aconsejado por una mayoría de compañeros, he decidido que será un blog en español. Siempre se puede traducir un blog con Google Translator (Que horror :D)

Las razones son obvias, el inglés y el español están muy reñidos en cuestión de hablantes (aunque predomine el inglés) y existen muchos blogs en inglés sobre programación, y la verdad, que pocos he visto en español. Quizás pueda ofrecer algo más de ayuda a mis compañeros de lenguaje.

Por petición, si algún tutorial genuino resulta atractivo para otros hablantes, me haré una traducción a mi "estilo".

A lo largo de hoy, publicaré algo un poco tonto, pero que siempre me trajo de cabeza... ¡Distancia de un punto a una recta!

First entry? Primera entrada?

Well actually I don't know which language should I use for my blog, I think this a very basic and simple English that everybody can understand... I will think this problem and discuss it with my pillow... Who knows... Maybe tomorrow I'm writing in Spanish...

Btw. This blog is aimed to be about programming skills for iPhone (I think, better to say iOS) and nice tricks and code snippets from my developments in my own games. Maybe some tutorials... Maybe some reviews and quizás alguna que otra tontería mas... (Spanish language!)

See you next time folks!

PS: I've done this blog and this first entry with my iPhone 4!