loop¶
If you’re using the state management features of clubsandwich, you might want
to look at DirectorLoop instead. This is its superclass.
-
class
clubsandwich.blt.loop.BearLibTerminalEventLoop(fps=72)¶ Parameters: fps (Real) – After each loop iteration, BearLibTerminalEventLoopwaits1/fpsseconds before checking for input and updating again.Simple wrapper around BearLibTerminal and
asyncio.Subclass
terminal_init(),terminal_read(), andterminal_update(). Instantiate your class and call itsrun()method.Example:
from bearlibterminal import terminal from clubsandwich.blt.loop import BearLibTerminalEventLoop i = 0 j = 0 class MyDemo(BearLibTerminalEventLoop): def terminal_update(self): global i global j terminal.put(j, 0, str(i)) i = (i + 1) % 10 j = (j + 1) % 11 return True # this is important! MyDemo().run()
-
loop_until_terminal_exits()¶
-
run()¶ Start the event loop.
-
run_loop_iteration()¶
-
terminal_init()¶ Terminal has just been opened. You should configure it with
terminal.set().
-
terminal_read(char)¶ Parameters: char (str) – Return value of BearLibTerminal.terminal.read()Called whenever new input is available.
-
terminal_update()¶ Returns: Trueif another loop should be run,Falseif the loop should exitUpdate the view. Fires once per frame regardless of whether there was any input. Make sure you return True to continue each loop iteration! (If you are using
DirectorLoop, this is already taken care of.)
-