Я работаю над небольшим игровым проектом и просто из любопытства прокомментировал строку, которая делает ссылку sh на основной WINDOW
объект.
while(game->state)
{
//Move into player
params->mov = player_1;
params->x = player_1->pos_x;
params->y = player_1->pos_y;
params->game = game;
//curs_set(FALSE);
player_1->key_move(params);
//Move into player
mvwprintw(p_info,y, x, "TERRAIN: [%c]", player_1->inplace);
//wrefresh(main_scene); /* THE LINE I DELETED */
wrefresh(p_info);
sleep(TICK);
}
Игра запустилась без проблем и игрок обновил свою позицию графически. player_1->key_move(params)
в конечном итоге вызывает wgetch()
, mvwaddch()
и mvinch()
, больше ничего (из ncurses
). wrefresh(p_info)
был прокомментирован после и, как и ожидалось, объект WINDOW
никогда не обновлялся. Мне интересно, если эта функция вызывает wrefresh()
в какой-то момент. В руководстве нет прямого указания на это.
Если да, есть ли альтернативы mvwaddch()
, который не обновляет объект WINDOW
?