Ahora que tenemos configurado nuestro proyecto y esta listo para comenzar, podemos empezar a estudiar Chipmunk. Para eso necesitamos conocer la terminología básica de Chipmunk y saber como esta organizado.
Para
simular un mundo con física necesitamos establecer ciertas reglas como
por ej la gravedad para nuestro nuevo "Universo", también necesitamos
crear un contenedor para todos nuestros objetos, en Chipmunk a esto se
lo denomina espacio (space).
Para definir cualquier objeto es necesario establecer cual es su masa y
otras propiedades del mismo. Esto se hace con lo que Chipmunk llama cuerpo (body).
Un cuerpo no produce colisiones por si mismo porque no tiene "forma" (shape) cuando interactua con otros objetos. Algunos objetos no son
homogeneos, a veces se necesitan definir diferentes parametros para
diferentes partes de un objeto (por ej un helado tiene dos partes, una
más blanda que la otra).
Para definir que áreas de un cuerpo interactuan con el resto del mundo y
las diferentes superficies, se necesitan agregar una o mas formas (shapes) a un
body. En Chipmunk hay tres tipos de formas disponibles: circulo,
segmento y polígono. Combinando estos tres tipos de formas se definen
casi todos los tipos de área de interacción imaginables para nuestros cuerpos. Obviamente que las formas agregadas al mismo cuerpo no producen
colisiones entre ellos.
No siempre es mejor completar el cuerpo con formas para que se unan con
los sprites, agregar muchas formas incrementa el número de cálculos que
Chipmunk necesita para cada frame, es mejor simplificar las fomas de
manera que cubran las partes importantes.
Podemos cambiar cosas como la velocidad o la posición del cuerpo
pero no es recomendado. El método principal para hacer esto es, como en
el mundo real, es aplicar fuerzas. Una fuerza es un vector. Para trabajar
con vectores Chipmunk tiene una libreria llamada cpVect que permita
hacer las operaciones más comunes como multiplicar y proyectar 2
vectores.
Chipmunk también soporta Joints que nos permiten conectar 2 cuerpos mediante diferentes puntos.
No hay comentarios:
Publicar un comentario