• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++/CLI + sfml - problem zapisu danych mapy dwuwymiarowej, przechowywanej w List

VPS Starter Arubacloud
+1 głos
182 wizyt
pytanie zadane 6 grudnia 2015 w C i C++ przez Raccoon Nowicjusz (130 p.)

Witam,

Aktualnie piszę edytor dwuwymiarowych map płytkowych, przy użyciu C++/CLI oraz SFMLa. Problem z zapisem danej mapy, tak jak w temacie, dotyczy tablic, w których przechowywane są dane poszczególnych płytek. Program nie potrafi zapisać danych zawartych w tablicach, wygląda na to, że w ogóle nie dostaje do  nich dostępu. Jedyne co robi, to w miejscach, gdzie miał wstawić powyższe dane, wstawia ilość wierszy z tablic w postaci pustych wierszy (tak jakby ktoś po prostu nacisnął parę razy klawisz enter).

Tablice są cztery - trzy z nich dotyczą graficznego przedstawienia danej płytki (fgMap, gMap, bgMap), czwarta (cMap) przechowuje dane kolizji. Wszystkie są typu System::Collections::Generic::List. Próbowałem też std::array, System::Array i normalnych tablic dynamicznych - List, jak dotąd, okazała się najmniej problematyczna i odpowiednia.

W programie klasą główną jest klasa Core. Program jest w niej tworzony  i wszystkie procesy w niej przebiegają. Znajdują się w niej funkcje zapisu mapy do pliku. Podległą jej klasą jest klasa ForDrawing - w niej znajdują sie ww. tablice, jak i wszelkie dane dotyczące rysowania grafik w oknie SFMLa.

Program podczas tworzenia nowej mapy poprawnie ładuje dane płytek do powyższych tablic, tego jestem pewien. Niestety nie jestem w stanie wyciągnąć danych z tych tablic, aby je zapisać (nie mogę użyć [][], a pętla "for each" nie chce się wykonywać w ogóle. Program ją przeskakuje.). Bawiłem się z tym problemem przez przeszło 7 godzin wczoraj...

Ze względu na ilość kodu, link do wklej.org: http://wklej.org/id/1868266/

Przepraszam za długość posta i dziękuję za cierpliwość.

Proszę o możliwie jak najszybszą odpowiedź. smiley

Raccoon

P.S.

Używana przeze mnie wersja SFMLa jest zgodna z C++/CLI, używam MS Visual Studio 2015.

1 odpowiedź

0 głosów
odpowiedź 14 marca 2016 przez Mateusz Tocha Bywalec (2,560 p.)
edycja 14 marca 2016 przez Mateusz Tocha
tempList[j].X a czemu nie
tempList[j]->X ?
Czy mogłbyś powiedzieć w trakcie debugowania co masz w lini 61? tzn jaka jest zawartość tablicy ? Wrzuć do Watch tempList, chciałbym zobaczyć jakiego typu są elementy, może potrzebny jest "rzut bezpieczny'? (safe_cast(varible);)

Podobne pytania

0 głosów
1 odpowiedź 148 wizyt
pytanie zadane 27 sierpnia 2023 w C i C++ przez Code_ Użytkownik (520 p.)
0 głosów
1 odpowiedź 237 wizyt
0 głosów
1 odpowiedź 163 wizyt
pytanie zadane 2 listopada 2016 w C i C++ przez Piotr Królak Obywatel (1,950 p.)

93,020 zapytań

141,985 odpowiedzi

321,287 komentarzy

62,366 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...