1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#!/usr/bin/env python3
from asciimatics.renderers import FigletText, Fire
from asciimatics.scene import Scene
from asciimatics.screen import Screen
from asciimatics.effects import Print
from asciimatics.exceptions import ResizeScreenError
from pyfiglet import Figlet
import sys
def demo(screen):
scenes = []
effects = [
Print(screen,
Fire(screen.height, 80, "*" * 70, 0.8, 60, screen.colours,
bg=screen.colours >= 256),
0,
speed=1,
transparent=False),
Print(screen,
FigletText("Help!", "banner3"),
(screen.height - 4) // 2,
colour=Screen.COLOUR_BLACK,
speed=1,
stop_frame=30),
Print(screen,
FigletText("I'm", "banner3"),
(screen.height - 4) // 2,
colour=Screen.COLOUR_BLACK,
speed=1,
start_frame=30,
stop_frame=50),
Print(screen,
FigletText("on", "banner3"),
(screen.height - 4) // 2,
colour=Screen.COLOUR_BLACK,
speed=1,
start_frame=50,
stop_frame=70),
Print(screen,
FigletText("Fire!", "banner3"),
(screen.height - 4) // 2,
colour=Screen.COLOUR_BLACK,
speed=1,
start_frame=70),
]
scenes.append(Scene(effects, 100))
text = Figlet(font="banner", width=200).renderText("ASCIIMATICS")
width = max([len(x) for x in text.split("\n")])
effects = [
Print(screen,
Fire(screen.height, 80, text, 0.4, 40, screen.colours),
0,
speed=1,
transparent=False),
Print(screen,
FigletText("ASCIIMATICS", "banner"),
screen.height - 9, x=(screen.width - width) // 2 + 1,
colour=Screen.COLOUR_BLACK,
bg=Screen.COLOUR_BLACK,
speed=1),
Print(screen,
FigletText("ASCIIMATICS", "banner"),
screen.height - 9,
colour=Screen.COLOUR_WHITE,
bg=Screen.COLOUR_WHITE,
speed=1),
]
scenes.append(Scene(effects, -1))
screen.play(scenes, stop_on_resize=True)
if __name__ == "__main__":
while True:
try:
Screen.wrapper(demo)
sys.exit(0)
except ResizeScreenError:
pass
|