Zastanawiam się nad projektowaniem poziomów w grze. Moja obecna sytuacja obraca się wokół Kafelków - mam wiele różnych warstw z różnymi typami obiektów (dla każdego, kto nie jest zaznajomiony z Kafelkami, obiekt jest niczym więcej niż współrzędną z przypisanymi mu dowolnymi właściwościami).
Obecnie kompiluję grę za każdym razem, gdy wprowadzam niewielką zmianę w pliku mapy, aby sprawdzić, czy wszystko jest właściwie ustawione. Czy jest sposób, abym automatycznie wczytywał poziom gry po wykryciu zmiany pliku mapy? Czy XNA nawet na to pozwala, czy też sposób, w jaki działa potok treści, nie pozwala na dynamiczną treść w taki sposób? Wszelkie wskazówki i sugestie są absolutnie mile widziane.
Możesz także użyć Karvonite, jeśli chcesz szybko zacząć działać.
Jest to zwinny system utrzymywania. Nie jestem pewien, czy nowa wersja będzie działać na Windows Phone 7 lub Xbox.
Utworzyłbyś definicję trwałości za pomocą ich edytora trwałości (to całkiem proste, wystarczy zaimportować zestaw i sprawdzić pola / właściwości klas / struktur, które chcesz utrwalić). Inicjujesz ObjectSpace w kodzie i dodajesz / usuwasz / pobiera z niego obiekty . (te obiekty są utrwalone)
Jeśli potrafisz stworzyć abstrakcję, aby silnik kafelkowy lub jakkolwiek go nazwiesz, nie obchodzi dokładnie, w jaki sposób otrzyma mapę, tylko otrzyma tę, o którą prosi. Następnie możesz wrócić i użyć XmlSerializer lub Intermediate. (w zależności od tego, co wolisz) Wszystko, co musisz zrobić, aby zaimplementować te inne serializatory, to utworzyć kolejną implementację abstrakcji (interfejs lub klasa abstrakcyjna).
Myślę, że na stronie klubu twórcy XNA istnieje przykład, jak budować zawartość w czasie wykonywania. Jednak może nie być zbudowany z najnowszymi ramami. W ten sposób możesz zachować swój stary kod, jeśli już korzystasz z potoku treści. Oto link: Winform Series 2: Ładowanie treści
źródło