capture.pyΒΆ

Part of Hextris.

 1"""Headless screenshot capture for Hextris."""
 2
 3import sys
 4from pathlib import Path
 5
 6HERE = Path(__file__).resolve().parent
 7sys.path.insert(0, str(HERE))
 8
 9from main import HEIGHT, WIDTH, HextrisRoot  # noqa: E402
10
11from simvx.graphics import App, save_png  # noqa: E402
12
13OUT = HERE / "screenshots"
14OUT.mkdir(exist_ok=True)
15FRAMES = [60, 120, 240]
16
17app = App(width=WIDTH, height=HEIGHT, title="Hextris", visible=False)
18captured = app.run_headless(HextrisRoot(), frames=max(FRAMES) + 1, capture_frames=FRAMES)
19for idx, n in enumerate(FRAMES):
20    save_png(captured[idx], OUT / f"frame_{n}.png")
21    print(f"wrote frame_{n}.png")
22app.quit()