Pymunx: Difference between revisions
Jump to navigation
Jump to search
Crazy-chris (talk | contribs) m (+screenshots) |
Crazy-chris (talk | contribs) mNo edit summary |
||
Line 67: | Line 67: | ||
== Screenshots == |
== Screenshots == |
||
''' [http://linuxuser.at/pymunx/pymunx_demo4_drawpoly.py pymunx_demo4_drawpoly.py] ''' |
|||
[[Image:Screenshot1.png|400px]] [[Image:Screenshot2.png|400px]] |
[[Image:Screenshot1.png|400px]] [[Image:Screenshot2.png|400px]] |
||
Revision as of 23:28, 8 March 2008
About
pymunx is an API for easily integrating physics into python (and pygame), using the chipmunk physics engine with the pymunk bindings. (See Python Physics for more infos.)
Status
The status is early and experimental, but already testable. Many functions of pymunk are not yet implemented, I'm quite on it and will post updates frequently the next time, so check back often :) I'll post my updates and demos here, on http://www.linuxuser.at/pymunx, and there's also a forum shared with pymunk and chipmunk.
Documentation
- Pymunx/Documentation
- pymunx.py also has a doc and short ref included
Sources
API class with documentation
- pymunx.py (the api class with all documentation)
Examples
- pymunx_demo1_ballsnsquares.py
- pymunx_demo2_drawwalls.py
- pymunx_demo3_addmany.py
- pymunx_demo4_drawpoly.py
Download
You can get the latest pymunx api class and examples bundled with the chipmunk libraries and pymunk via svn (examples/):
svn checkout http://pymunk.googlecode.com/svn/trunk/ pymunk-read-only
pyGame Example
The typical usage in pygame looks like this:
import pygame from pygame.locals import * from pygame.color import * from pymunx import * pygame.init() screen = pygame.display.set_mode((800, 800)) clock = pygame.time.Clock() world = pymunx() world.add_wall((100, 200), (300, 200)) # Main Game Loop: while running: # Event Handling # Maybe calling world.add_ball(event.pos) or world.add_square(event.pos) # ... screen.fill((255,255,255)) # Update & Draw World world.update() world.draw(screen) # Flip Display pygame.display.flip() # Try to stay at 50 FPS clock.tick(50)