main.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:sciibo 作者: fdev 项目源码 文件源码
def mainloop(screen):
    from sciibo.core.state import State

    # Get username from environment
    try:
        env_user = getpass.getuser()
    except KeyError:
        env_user = ''

    # Create a new state
    state = State()
    state.set_name(env_user)
    state.set_scene('Main')

    try:
        while state.running:
            # Handle key and mouse input
            ch = screen.get_key()
            while ch:
                if ch == curses.KEY_MOUSE:
                    result = screen.get_mouse(state.scene)
                    if result:
                        state.scene.on_mouse(*result)
                else:
                    state.scene.on_key(ch)

                # Handle all key presses in queue
                ch = screen.get_key()

            # Register frame tick
            state.scene.on_tick()

            # Update the screen
            screen.update(state.scene)
            time.sleep(1.0 / 24)

    except KeyboardInterrupt:
        state.quit()

    except Exception:
        # Make sure threads are stopped when an exception is encountered
        state.quit()

        # Re-raise exception so screen can be terminated
        # before displaying exception in console
        raise
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号