相关疑难解决方法(0)

Python ncurses:在第一次按键之前不显示屏幕,即使刷新是第一次

下面的代码可让您使用箭头键"."在屏幕上的小网格中走动.你在哪里探索过或者在旁边.即使我在第一次getch之前刷新(获得一个击键),屏幕也不会先显示任何内容,直到你离开你的起始位置.不应该立即显示addstr然后刷新然后getch等待吗?我甚至尝试添加一个stdscr.refresh(),但这也没有帮助.如何在等待第一个击键之前立即刷新屏幕?

import curses

def start(stdscr):
    curses.curs_set(0)
    movement = curses.newpad(10, 10)

    cur_x, cur_y = 5, 5

    while True:
        movement.addstr(cur_y, cur_x, '@')
        for (x_off, y_off) in [(-1,0),(1,0),(0,-1),(0,1)]:
            movement.addstr(cur_y + y_off, cur_x + x_off, '.')
        movement.refresh(1, 1, 0, 0, 7, 7) #Nothing is displayed until after the first key-stroke

        key_stroke = stdscr.getch()
        move_attempt = False
        if 0 < key_stroke < 256:
            key_stroke = chr(key_stroke)
        elif key_stroke == curses.KEY_UP and cur_y > 1:
            cur_y -= 1
        elif key_stroke == curses.KEY_DOWN and cur_y < 8: …
Run Code Online (Sandbox Code Playgroud)

python ncurses python-curses

2
推荐指数
1
解决办法
1490
查看次数

标签 统计

ncurses ×1

python ×1

python-curses ×1