Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'README.txt')
-rw-r--r--README.txt137
1 files changed, 0 insertions, 137 deletions
diff --git a/README.txt b/README.txt
deleted file mode 100644
index c0ac366..0000000
--- a/README.txt
+++ /dev/null
@@ -1,137 +0,0 @@
-== Sugargame ==
-
-Sugargame is a Python package which allows [http://www.pygame.org/ Pygame]
-programs to run well under Sugar.
-It is fork of the olcpgames framework, which is no longer maintained.
-
-http://git.sugarlabs.org/projects/sugargame
-
-What it does:
-
-* Wraps a Sugar activity around an existing Pygame program with few changes
-* Allows Sugar toolbars and other widgets to be added to the activity UI
-* Provides hooks for saving to and restoring from the Journal
-
-==== Differences between Sugargame and olpcgames ====
-
-The olpcgames framework provides a wrapper around Pygame which attempts to
-allow a Pygame program to run mostly unmodified under Sugar. To this end,
-the Pygame program is run in a separate thread with its own Pygame message
-loop while the main thread runs the GTK message loop. Also, olpcgames wraps
-Sugar APIs such as the journal and mesh into a Pygame-like API.
-
-Sugargame takes a simpler approach; it provides a way to embed Pygame into a
-GTK widget. The Sugar APIs are used to interact with Sugar, the Pygame APIs
-are used for the game.
-
-Sugargame advantages:
-
-* Simpler code
-* More elegant interface between Pygame and GTK
-* Runs as a single thread: no thread related segfaults
-* Possible to use Sugar widgets with Pygame
-
-Sugargame limitations:
-
-* No support for Pango or SVG sprites (yet)
-
-== Using Sugargame ==
-
-See also [[Development Team/Sugargame/Examples]].
-
-==== Wrapping a Pygame program ====
-
-To use Sugargame to Sugarize a Pygame program, set up an activity directory and
-copy the Sugargame package to it.
-
-The activity directory should look something like this:
-
- activity/ - Activity directory: activity.info, SVG icon, etc.
- sugargame/ - Sugargame package
- MyActivity.py - Activity class
- mygame.py - Pygame code
- setup.py - Install script
-
-To make the Activity class, start with test/TestActivity.py from the Sugargame
-distribution.
-
-The activity should create a single PygameCanvas widget and call run_pygame on it.
-Pass the main loop function of the Pygame program.
-
- self._canvas = sugargame.canvas.PygameCanvas(self)
- self.set_canvas(self._canvas)
-
- # Start the game running.
- self._canvas.run_pygame(self.game.run)
-
-In your Pygame main loop, pump the GTK message loop:
-
- while gtk.events_pending():
- gtk.main_iteration()
-
-==== Adding Pygame to a PyGTK activity ====
-
-To add Pygame to an existing Sugar activity, create a PygameCanvas widget and call
-run_pygame on it.
-
- widget = sugargame.canvas.PygameCanvas(self)
- vbox.pack_start(widget)
-
- widget.run_pygame(self.game.run)
-
-Due to limitations of Pygame and SDL, there can only be one PygameCanvas in the
-entire activity.
-
-The argument to run_pygame is a function structured like a Pygame program. In the
-main loop, remember to dispatch GTK messages using gtk.main_iteration().
-
- def main_loop():
- clock = pygame.time.Clock()
- screen = pygame.display.get_surface()
-
- while self.running:
- # Pump GTK messages.
- while gtk.events_pending():
- gtk.main_iteration()
-
- # Pump PyGame messages.
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- return
- elif event.type == pygame.VIDEORESIZE:
- pygame.display.set_mode(event.size, pygame.RESIZABLE)
-
- # Check the mouse position
- x, y = pygame.mouse.get_pos()
-
- # Clear Display
- screen.fill((255,255,255)) #255 for white
-
- # Draw stuff here
- .................
-
- # Flip Display
- pygame.display.flip()
-
- # Try to stay at 30 FPS
- self.clock.tick(30)
-
-== Support ==
-
-For help with Sugargame, please email the Sugar Labs development list:
-
-: sugar-devel@lists.sugarlabs.org
-
-Sugargame is developed by Wade Brainerd <wadetb@gmail.com>.
-
-It is loosely based on the source code to the olpcgames framework, developed by
-the One Laptop Per Child project.
-
-=== Changelog ===
-
-====v1.1====
-* Fix bugs in event handling. (Pablo Moleri)
-* Remove reference to gtk.Socket.get_window() method, which is missing in older versions of PyGTK.
-
-====v1.0====
-* Initial version of Sugargame