我收到一個很奇怪的「bug」,我想你可以稱之爲它。我使用Xcode開發一個簡單的遊戲,並想添加一些簡單的圖形。Ncurses box()函數僅適用於它之前的getch()
爲此,我決定使用ncurses庫。 在學習如何使用curses時,我開始關注如何創建窗口,我將在後面肯定會使用其中一個函數(可能用於健康狀況欄或其他內容),box()函數用於圍繞窗口中的窗口()。我做的簡單測試是在strscr窗口的中心創建一個新窗口,然後調用box()。這樣做的代碼如下:
WINDOW *AboutWindow;
int width=60,height=12;
int OffsetX=0,OffsetY=0;
OffsetX = (getmaxx(stdscr) - width)/2;
OffsetY = ((getmaxy(stdscr) - height)/2);
AboutWindow = newwin(height, width, OffsetY, OffsetX);
getch();
box(AboutWindow, 0, 0);
//getch();
wrefresh(AboutWindow);
奇怪的「錯誤」是,框將只得到,如果殘培()繪製之前我所說的盒()函數被調用。如果我註釋掉getch(),那麼該框不會被繪製。
我完全不知道爲什麼會發生這種情況。謝謝你的幫助。
是否將最後的getch()中std ::法院<<的std ::沖洗有同樣的效果? – OMGtechy
沒有不害怕的工作。仍然會將窗口放在那裏,並在短暫的毫秒內閃爍出框的輪廓,然後消失 – JabbaWook