2010-10-26 10 views
7

Me gustaría crear un juego que tiene niveles como esto: http://img169.imageshack.us/img169/7294/picdq.png¿Cómo crear un nivel con líneas curvas con cocos2d + Box2d en el iphone?

el jugador se mueve "vuela" a través del nivel y no debe chocar con las paredes. ¿Cómo puedo crear tales niveles?

me encontré con que pedazo de software: http://www.sapusmedia.com/levelsvg/

No es tan barato, así que me pregunto si hay otra manera de crear un nivel tal como se muestra en la imagen de arriba ...?

+0

+1. Estoy interesado. : P – cocos2dbeginner

Respuesta

6

Puede hacerlo de forma sencilla leyendo el valor del color de los píxeles en lugares específicos del nivel. Tomemos como ejemplo que su fondo de nivel es blanco y las paredes son negras. Para realizar la detección de colisiones, si su personaje había golpeado la pared, haría lo siguiente: -tomar la posición de su personaje -ver los valores de color de los píxeles de su mapa que se superponen con el cuadro delimitador o la esfera del personaje en ese posición -si cualquiera de esos contiene color negro usted mismo tiene una colisión :)

Ahora, si su nivel es todo colorido, querría construir una textura de máscara en blanco y negro que refleje las superficies de las paredes de su mapa real . Luego use el mapa coloreado para dibujar y el mapa bw para detección de colisión.

+1

bitmask en blanco y negro también es 8 veces más rápido -> puede usar bitoperadores para comparar 8 bits en un procesador takt – AvrDragon

1

Me gustaría pasar un buen par de semanas engancharse en la documentación de Objective-C, Xcode, Interface Builder y Apple iOS. Hay muchos buenos tutoriales y ejemplos de proyectos de Xcode para descargar y ejecutar en el simulador de iPhone/iPad.

Si acaba de comenzar, algunas de esas bibliotecas de inicio rápido pueden robarle el conocimiento íntimo que necesitará para crear las complejidades y los matices que necesitará cuando su aplicación empiece a traspasar los límites del entorno limitado del código. No está mal usarlo como herramientas de aprendizaje o para acelerar el tiempo de desarrollo, pero desaconsejaría usarlo como una muleta hasta que fortalezcas las piernas de tu desarrollador. Gatear. Caminar. ¡Correr!

Cuestiones relacionadas