Pregunta

Estoy trabajando en un juego de plataformas para el iPhone que utiliza Box2D y Cocos2d.

Estoy tratando de encontrar una manera de crear un comportamiento similar para mi personaje controlado como se encuentra en los juegos de Sonic the Hedgehog, pero mantener el uso de la biblioteca de la física Box2D como quiero proyectiles y un cierto nivel objetos a comportarse de acuerdo con la física realista, junto con ciertas situaciones que implican el carácter controlado (salto y se disparaba en objetos, etc.).

Los principales problemas que estoy corriendo a mantener el carácter están en el suelo cuando se va más curvas convexas y mantener una sensación de contacto con el suelo hasta una distancia considerable de ella se logra. Sólo quiero que el personaje reacciona a los comandos izquierda y derecha cuando en el suelo, pero mi forma tiende a dejar el suelo cuando se va más ligeras curvas de tal manera que el tiempo de reacción se tarda un poco hasta que el contacto con nosotros restablecido. Visualmente no hay separación, pero es lo suficientemente grande como para cambiar el estado de estar en el suelo o no. Además, el personaje no "abrazo" curvas más grandes de la manera que me gustaría.

He intentado ejercer una fuerza adicional a la baja cuando en la tierra, pero no funciona lo suficientemente rápido para las curvas más grandes, y las fuerzas suficientemente grandes para ser eficaz interfieren con el movimiento regular del personaje. Cualquier reflexión sobre estos temas?

¿Fue útil?

Solución

En mi experiencia, conseguir cierto consola-como la sensación de que requiere la creación de la física realista, para los personajes del jugador en especial.

Creo en box2d podría utilizar impulsos de piratear el sistema de movimiento, sin dejar de tener acceso a la detección de colisiones. Era eso, o hacer que su personaje un objeto que no se mueve, y haciendo el movimiento mismo. Me olvido de lo que parecía funcionar para mí. Ha sido un par de meses;?.) Creo que también he hecho un poco anulador de vectores en el eje y en algunos casos a arreglar errores (pendientes)

Si su movimiento está funcionando adecuadamente para el caso general, se puede hacer el movimiento cuando está en contacto con el suelo con una curva de ser un caso especial, en el que maneje la física a sí mismo, y sólo pasar el rato en el mundo real para la detección de colisiones.

Otra opción es hacer que la mayoría de los objetos utilizan la física "falsos", y el uso Box2D sólo para la detección de colisiones, o para los objetos "realistas".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top