XNA C# Jeu de Plateforme 2D
Je suis en train de faire (comprendre comment..) une plateforme 2d en XNA.
Je sais comment créer un carreau de la grille et de la façon d'effectuer la détection de collision.
J'ai effectuer la détection de collision sur les 9 de délimitation des tuiles du joueur, mais je voudrais savoir si il ya une meilleure façon d'effectuer la détection de collision.
J'ai lu la Tresse de ne pas utiliser des tuiles mais reconstitué images ou de quelque chose, comment voulez-vous effectuer une détection de collision sur ceux-là? et est-ce mieux que d'utiliser des carreaux?
OriginalL'auteur Restart | 2010-02-09
Vous devez vous connecter pour publier un commentaire.
En supposant que vous n'avez pas l'esprit à l'aide d'un outil tiers pour faire la majorité du travail pour vous, vous feriez mieux d'utiliser quelque chose comme Box2D pour C#.
http://www.box2d.org/
http://code.google.com/p/box2dx/
Cette bibliothèque va vous donner la détection de collision et de la physique des capacités.
Box2D et Farseer Physics, comme mentionné ci-dessous, sont extrêmement simples de la physique de l'API. En fait, ils sont si simples, je dirais que la mise en place d'une base physique du monde avec eux impliquerait moins de lignes de code à rouler vos propres détection de collision. Même pour un simple jeu de plateforme 2d.
le problème avec la physique (encore une fois) c'est qu'il faut du temps pour obtenir le droit. Tout est possible, ce qui est un plaisir pour certains jeux, mais en général, vous ne voulez pas que le personnage principal soit capable de faire interagir et de l'utilisation de tout. Basé sur la physique des jeux rapidement devenus une sorte simulation jeux de style, tout en plqtform jeux sont beaucoup plus directes de style arcade jeux. Cela ne veut pas dire qu'ils utilisent la physique des choses pour certains éléments, mais il est certainement ne signifie pas que tout est simulé.
C'est vrai, et une personne que je connais qui a mis ensemble un jeu de plates-formes de Farseer a fallu un peu de shoehorning du moteur pour obtenir un comportement raisonnable. Il a travaillé, mais il prend beaucoup de temps.
et RCIX Quoi de mieux utiliser? un moteur physique ou de la tuile de collision? et ce n'platformers maintenant un jours comme "New Super Mario Bros Wii" par exemple utiliser? Je sais que le vieux platformers utilisé tuile de collision droit?
OriginalL'auteur xgalaxy
Si vous allez pour un style rétro, alors il est certainement très bien utiliser des tuiles! Toutefois, si vous souhaitez quelque chose de plus "moderne", alors vous pouvez aller avec un plus classiques de moteur physique. Farseer Physics est un grand moteur, et plusieurs personnes l'ont utilisé pour faire des platformers. Il est basé sur Box2D et autres moteurs semblables, mais propose une API simple et plusieurs caractéristiques uniques (comme la texture de la géométrie) et je peux moi-même témoigner de la gentillesse d'avoir joué un peu avec elle un peu.
OriginalL'auteur RCIX
Vous avez probablement besoin d'un peu plus de la détection de collision pour un jeu comme de la Tresse. Je suppose que vous avez aussi besoin d'un moteur physique. Je vous recommande de prendre un coup d'oeil à Farseer Physics engine, qui est moteur 2D qui fonctionne très bien avec XNA. Il prend en charge un certain nombre de techniques différentes pour la détection de collision.
J'ai été à la recherche à farseer maintenant, à partir des échantillons, il a il semble gooed mais je ne peux pas obtenir la détection de collision entre 2 geoms de travail. J'ai créé un PhysicsSimulator, 2 Bodys, 2 Geoms, et maintenant 1 corps tombe à cause de la gravité. le problème, c'est qu'il tombe à travers les autres corps.
Avez-vous regardé toutes les démos? Il y a beaucoup d'exemples sur la détection de collision.
OriginalL'auteur Brian Rasmussen
Avez-vous vérifié les exemples dans la collision de la serie sur le XNA creators club, en particulier la pixel-collision échantillon?
J'ai écrit 2D jeux de plate-forme où la collision entre le héros et les carreaux n'ont pas été pixel parfait, mais la collision entre les objets (comme des balles) et les tuiles ont été pixel parfait et entre les objets et les héros étaient pixel parfait aussi. De sorte qu'il peut être plus complexe que "aucun pixel parfait collision". 🙂
bon point, je suis d'accord.
Cela peut être un choix. J'ai moi-même l'aimez mieux, si un jeu est un peu indulgent. Donc, mon personnage principal n'est pas instantanément mort si sa narine gauche arrive à entrer en collision avec l'ongle de l'ennemi. Bien que les ordinateurs peuvent être pixel parfait, la vision des joueurs est généralement pas... c'est pourquoi généralement vous permettre un chevauchement de sprites.
OriginalL'auteur Paolo Tedesco