Pregunta

Estoy teniendo un problema de diseño, esto puede ser debido al hecho de que no entiendo totalmente cocos2d y Box2D todavía.

Quiero crear objetos del juego que tienen un CCSprite (datos de imagen) y una b2Body (física), sería yo derecho a hacer que un objeto encapsulado que contiene tanto? si hiciera esto esto me permitiría realizar cambios en el CCSprite

o

como he visto en el código de ejemplo la b2Body tiene una variable userData que el sprite se establece como. Entonces, con este método sólo tendría que tener un único puntero a los objetos físicos, que se encargarían de la CCSprite.

Thx de antemano.

¿Fue útil?

Solución

Mi forma preferida de hacerlo es encapsular tanto en un objeto Actor. Mi objetivo Actor También es responsable de actualizar la posición CCSprite / rotación basado en los datos b2Body. Luego utilizo ese objeto como el Actor userData en el b2Body. Tener el actor como el userData es útil cuando se itera sobre los cuerpos de los oyentes de contacto.

Otros consejos

solución simple A es configurar miembro userData del cuerpo a punto para el sprite, y miembro userData del sprite a punto para el cuerpo. De esta manera se puede acceder a ambos de una manera fácil y conveniente. Entonces no debería ser necesario para encapsular los sprites y corporales objetos en un actor tampoco.

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