2010-10-26 34 views
7

Je voudrais créer un jeu qui a des niveaux tels que celui-ci: http://img169.imageshack.us/img169/7294/picdq.pngComment créer un niveau avec des lignes courbes avec cocos2d + Box2d sur l'iphone?

Le joueur se déplace « vole » à travers le niveau et ne doit pas entrer en collision avec les murs. Comment puis-je créer de tels niveaux?

J'ai trouvé ce morceau de logiciel: http://www.sapusmedia.com/levelsvg/

Ce n'est pas pas cher, donc je me demande s'il y a une autre façon de créer un tel niveau comme le montre l'image ci-dessus ...?

+0

+1. Je suis intéressé. : P – cocos2dbeginner

Répondre

6

Vous pouvez le faire assez facilement en lisant la valeur de couleur des pixels à des endroits spécifiques du niveau. Prenez par exemple que votre fond de niveau est blanc et les murs sont noirs. Pour effectuer une détection de collision, que votre personnage ait atteint le mur, vous devez effectuer les opérations suivantes: -Prenez la position de votre personnage -examinez les valeurs de couleur des pixels de votre carte qui chevauchent la zone de délimitation ou la sphère du personnage. Position -si l'un de ces contiennent la couleur noire que vous avez vous-même une collision :)

maintenant, si votre niveau est tout coloré, vous voulez construire une texture masque noir et blanc qui reflète les surfaces murales de votre carte réelle . Utilisez ensuite la carte colorée pour dessiner et la carte bw pour la détection de collision.

+1

bitmask noir/blanc est également 8x plus rapide -> vous pouvez utiliser des bitoperators pour comparer 8 bits dans un processeur – AvrDragon

1

Je passerais une bonne semaine solide à prendre connaissance de la documentation Objective-C, Xcode, Interface Builder et Apple iOS. Il y a beaucoup de bons tutoriels et des exemples de projets Xcode à télécharger et à exécuter sur le simulateur iPhone/iPad. Si vous débutez, certaines de ces bibliothèques de démarrage rapide peuvent vous priver des connaissances intimes dont vous aurez besoin pour créer les subtilités et les nuances dont vous aurez besoin lorsque votre application atteindra les limites du sandbox de code. Pas mal à utiliser comme outils d'apprentissage ou pour accélérer le temps de développement, mais je déconseille de les utiliser comme une béquille jusqu'à ce que vous renforcez vos jambes de développeur. Crawl. Marche. Courir!