From 19da810af25bb21dc003c3fcc12efa14b0f63c17 Mon Sep 17 00:00:00 2001 From: Quantum Date: Sat, 4 Jan 2014 17:19:04 -0500 Subject: [PATCH] Added screenshot support, to ~/punyverse.png currently. --- punyverse/game.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/punyverse/game.py b/punyverse/game.py index 6fafa35..b68332e 100644 --- a/punyverse/game.py +++ b/punyverse/game.py @@ -4,6 +4,7 @@ from math import hypot, sqrt, atan2, degrees from time import clock import time import random +import os from punyverse.camera import Camera from punyverse.world import World @@ -136,6 +137,7 @@ class Applet(pyglet.window.Window): key.C: attribute_toggler(self, 'cloud'), key.X: attribute_toggler(self, 'atmosphere'), key.ENTER: attribute_toggler(self, 'running'), + #key.Q: self.screenshot, key.INSERT: increment_tick, key.DELETE: decrement_tick, key.SPACE: self.launch_meteor, @@ -204,6 +206,10 @@ class Applet(pyglet.window.Window): pyglet.clock.schedule(self.update) self.on_resize(self.width, self.height) # On resize handler does nothing unless it's loaded + def screenshot(self): + image = pyglet.image.get_buffer_manager().get_color_buffer() + image.save(os.path.expanduser('~/punyverse.png')) + def set_exclusive_mouse(self, exclusive): super(Applet, self).set_exclusive_mouse(exclusive) self.exclusive = exclusive @@ -236,9 +242,10 @@ class Applet(pyglet.window.Window): self.cam.mouse_move(dx * MOUSE_SENSITIVITY, dy * MOUSE_SENSITIVITY) def on_key_press(self, symbol, modifiers): + if symbol == key.Q: + self.screenshot() if not self.loaded: return - if self.exclusive: # Only handle keyboard input if mouse is grabbed if symbol in self.key_handler: self.key_handler[symbol]()