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.