Je me pose des questions sur la conception de niveau en jeu. Ma situation actuelle tourne autour de Tiled - j'ai plusieurs couches différentes avec différents types d'objets (pour ceux qui ne connaissent pas Tiled, un objet n'est rien de plus qu'une coordonnée avec des propriétés arbitraires qui lui sont assignées).
Je recompile actuellement le jeu chaque fois que j'apporte une petite modification à mon fichier de carte pour voir si tout est correctement positionné. Existe-t-il un moyen pour que mon jeu recharge automatiquement le niveau si un changement de fichier de carte est détecté? Est-ce que XNA le permet même, ou la façon dont le pipeline de contenu fonctionne ne permet-elle pas le contenu dynamique de cette manière? Tous les conseils ou suggestions sont les bienvenus.
Vous pouvez également utiliser Karvonite si vous souhaitez obtenir ce résultat et aller très vite.
C'est un framework de persistance agile. Je ne sais pas si la nouvelle version fonctionnera sur Windows Phone 7 ou Xbox.
Vous créeriez une définition de persistance avec leur éditeur de persistance (c'est assez simple, vous importez simplement l'assembly et vérifiez les champs / propriétés sur les classes / structures que vous souhaitez conserver) Vous lancez un ObjectSpace dans le code et ajoutez / supprimez / récupérez des objets à partir de celui-ci . (ces objets sont persistants)
Si vous pouviez créer une abstraction pour que le moteur de tuiles ou ce que vous appelez ne se soucie pas exactement de la façon dont il obtient la carte, juste qu'il obtient celle qu'il a demandée. Ensuite, vous pouvez revenir en arrière et utiliser le XmlSerializer ou l'Intermédiaire. (selon votre préférence) Tout ce que vous auriez à faire pour implémenter ces autres sérialiseurs est de créer une autre implémentation de l'abstraction (une interface ou une classe abstraite).
Je pense qu'il y a un exemple de la façon de créer du contenu lors de l'exécution sur le site Web du club du créateur XNA. Cependant, il pourrait ne pas être construit avec le dernier framework. De cette façon, vous pouvez conserver votre ancien code si vous utilisez déjà le pipeline de contenu. Voici le lien: Winform Series 2: Chargement de contenu
la source