tutorial juegos hechos games descargar creator cocos2d cocos cocos2d-iphone box2d collision-detection

cocos2d-iphone - juegos - cocos2d tutorial



Agregar una característica ''warp'' al juego cocos2d/box2d (1)

Tengo problemas para obtener una función de "distorsión" para que funcione correctamente en un juego cocos2d / box2d.

Tengo dos elementos para que mi sprite principal colisione - y si el sprite colisiona / entra en uno, entonces sale del otro - como una característica de warp o teletransporte.

El problema que tengo es que si mi sprite choca con "A", entonces muevo su posición a "B" y debería salir de "B" y continuar con la misma dirección y velocidad que tenía antes de la colisión "A".

¡Pero tan pronto como el sprite golpea "B", se ve como una colisión con "B" y salta de nuevo a "A"!

Entonces, si mi sprite golpea cualquiera de las funciones de warp, termina atrapado en un bucle sin fin donde simplemente salta continuamente de A a B y viceversa.

He intentado una gran cantidad de soluciones temporales, como agregar, por ejemplo, (x + 10) a la posición, para que se borre la colisión "B" cuando sale de B, pero esa es una solución desordenada.

¡Esperando que alguien tenga otra idea brillante!


¿Qué tal un BOOL para realizar un seguimiento de su estado de colisión?

Entonces, cuando su objeto colisiona con A, establezca

_isColliding = YES

Una vez que esté libre de colisiones, configure

_isColliding = NO

Cualquier colisión que ocurra mientras _isColliding todavía está establecido en SÍ se ignoraría.