2

尝试为诅咒窗口添加背景。我有这两个属性

我找到了这两种方法:

bkgd(ch)

bkgdset(ch)

但是,我无法实现它们:

win1.new(10,10,10,10)
win1.box('|','-')
win1.bkg(COLOR_RED) 

这使 win1 充满了钻石!非常有趣的效果,但不是我想要的。我想要一个红色的背景。

颜色在我的终端中完美运行。

4

1 回答 1

1

已经有一段时间了,但也许我的例子仍然有用:

使用时对我来说是相同的“钻石”

window.bkgd(COLOR_RED)

这似乎出现了,因为该bkgd方法需要一个char并将其打印到窗口的所有空闲空间(参见old doc)。

但是,您可以使用具有所需背景颜色的颜色对并将其应用于所有屏幕位置,然后再编写其他内容。

这是我解决它的方法:

require 'curses'    

init_screen
start_color

init_pair(COLOR_RED, COLOR_WHITE, COLOR_RED)
window = Curses::Window.new(0, 0, 0, 0)

window.attron(color_pair(COLOR_RED)) do
  lines.times do |line|
    window.setpos(line, 0)
    window << ' ' * cols
  end
end
于 2015-01-22T22:44:38.750 回答