SFML и C++ Уроки \ Разработка игр › Форумы › SFML Graphics › Помогите.. не могу заставить работать цикл взаимодействия с картой. Урок 11
В этой теме 3 ответа, 2 участника, последнее обновление maminev 6 года/лет, 7 мес. назад.
-
АвторСообщения
-
Привет всем! Такая проблема. Начал изучать уроки и после того как дошел до 11 го… не могу продвинуться. Не запускается игра.
Учусь писать код в CODE BLOCKS. В самом начале пробывал писать код как описывается в самом уроке… программа компилировалась но при запуске exe вылетала ошибка. до этого цикла все работало..
В уроке было написано создать функцию метод внутри класса плеер которая обрабатывала столкновения с картой а затем уже сама же функция вызывала другой метод этого же класса и при этом все конечно скомпилировалось но не запускается…
Попробывал другой способ вынес функцию за пределы класса … создал класс и в виде указателя передал его этой функции и уже динамически по адресам начал проверять условия столкновения с картой и соответственно попробывал поменять значения в них по тому же алгоритму…. программа запускается но вылетяет с ошибкой ошибка не соответствие данных памяти..
void interactionWithMap(Player * object)
{
for (int i = object -> getPlayerCoordinateY() / 20; i < (object -> getPlayerCoordinateY() + object -> h)/20; i++)
for (int j = object -> getPlayerCoordinateX() / 20; i < (object -> getPlayerCoordinateX() + object -> w)/20; j++)
{
if (TileMap[i][j]==’0′)
{
if (object -> dy>0) {object->setPlayerCoordinateY (i * 20 – object -> h);}
if (object -> dy<0) {object->setPlayerCoordinateY (i * 20 + 20);}
if (object -> dx>0) {object->setPlayerCoordinateX (j * 20 – object -> w);}
if (object -> dx<0) {object->setPlayerCoordinateY (j * 20 + 20);}
}
if (TileMap[i][j] == ‘s’) { object ->setPlayerCoordinateX (300); object -> setPlayerCoordinateY (300); TileMap[i][j] = ‘-‘; }}
};УЖе не знаю что делать…
Вложения:
You must be logged in to view attached files.Вобще для кода на сайте есть специальный модуль – пожалуйста, пользуйся им а не сливай свои файлы – хидеры.
Вылетает ошибка – скриншот с содержимым приложить?
В каком месте ты вызываешь этот метод? Точно ли ты передаёшь в качестве аргумента ссылку на игрока в момент вызова?Спасибо разобрался оказывается проблема в том что в конце работы не освобождалась динамическая память…
Все решилось использованием ссылок на обьект класса Плеер… сразу заработало.
Помогите в теме Organi решение графических задач!
-
АвторСообщения
Для ответа в этой теме необходимо авторизоваться.