Созданные ответы форума
-
АвторСообщения
-
pragma once как раз удалить строчку надо. А потом
#ifndef STARTMENU_H
#define STARTMENU_H…..
#endif STARTMENU_H
p.s. погоди, если функцию menu поместить в main.cpp, тоже будет баг?
Значит так:
RenderWindow menuWindow(VideoMode(1366, 768), “Minecraft C++”, sf::Style::Default, sf::ContextSettings(24));
menu(menuWindow);//вызов меню
RenderWindow Window(VideoMode(1366, 768), “Minecraft C++”, sf::Style::Default, sf::ContextSettings(24));
Window.setActive(true);
…в startmenu.h #ifndef поставь, pragma once убери. В вики в статье include guards пишут что pragma может вызывать проблемы
смещение dx и dy должны быть достаточно маленькими, и размер пакмана чуть меньше размера прохода
В первом варианте не принципиально, что идет первым: it = entities.erase(it) или delete b, а вот втором принципиально. В момент it = entities.erase(it) происходят 2 операции – из списка вычеркивается элемент, и второе – текущий указатель присваивается следующему элементу списка.
Таким образом при
it = entities.erase(it); delete *it;
текущий указатель присваивается следующему элементу, а потом в delete *it ты удаляешь содежимое этого элемента – а на следующей итерации обращаешься по этой (уже несуществующей ссылке) в строчке (*it)->update(time);Нет, конечно. В этом случае карта будет храниться и выводиться по-другому. Об этом вроде намечается урок на этом сайте
-
АвторСообщения