Pymunx/Documentation: Difference between revisions

From OLPC
Jump to navigation Jump to search
(init)
 
No edit summary
Line 44: Line 44:


=== pymunx.__init__ ===
=== pymunx.__init__ ===
:<big>def __init__(self, gravity=(0.0,-900.0))</big>
::* Init function - pymunk, get flags, get screen size, init space
::* Parameters: gravity = (int(x), int(y))
::* Returns: class pymunx


=== pymunx.set_info ===
=== pymunx.set_info ===
:<big>pymunx.set_info(self, txt)</big>
::* Set the Info-Text which will be blit at the upper left corner each update
::* Parameters: txt = str (break lines with \n)
::* Returns: -


=== pymunx.flipy ===
=== pymunx.flipy ===
:<big>pymunx.flipy (self, y)</big>
::# Convert Chipmunk y-coordinate to pyGame (y = -y + self.display_height)
::# Parameters: y = int
::# Returns: int(y_new)


=== pymunx.vec2df ===
=== pymunx.vec2df ===
:<big>vec2df(self, pos)</big>
::* Convert a pygame pos to a vec2d with flipped y coordinate
::* Parameters: pos = (int(x), int(y))</big>
::* Returns: class vec2d((pos[0], self.flipy(pos[1])))</big>


=== pymunx.autoset_screen_size ===
=== pymunx.autoset_screen_size ===
:<big>autoset_screen_size (self)
::* Get screensize from pygame. Call this only on resize
::* Returns: -


=== pymunx.get_pymunk_flags ===
=== pymunx.get_pymunk_flags ===
:<big>get_pymunk_flags (self)</big>
::* Check pymunk version, adjusts settings and returns new flagset
::* Returns: class pymunk_flags


=== pymunx.update ===
=== pymunx.update ===
:<big>update (self, fps=50.0, steps=5)</big>
::* Update thy physics. fps is optional and by default set to 50.0 - steps is substeps per update
::* Returns: -


=== pymunx.draw ===
=== pymunx.draw ===
:<big>draw (self, surface)</big>
::* Iterate through all elements and call draw_shape with each
::* Parameters: surface = pygame.Surface
::* Returns: -


=== pymunx.draw_shape ===
=== pymunx.draw_shape ===
:<big>draw_shape (self, surface, shape)</big>
::* Draw a given shape (circle, segment, poly) on the surface
::* Parameters: surface = pygame.Surface | shape = pymunk.Shape
::* Returns: -


=== pymunx.add_wall ===
=== pymunx.add_wall ===
:<big>add_wall (self, p1, p2, friction=10.0)</big>
::* Add a fixed wall between points p1 and p2. friction is a optional parameter
::* Parameters: p = (int(x), int(y))</big>
::* Returns: -


=== pymunx.add_ball ===
=== pymunx.add_ball ===
:<big>add_ball (self, pos, radius=15, mass=10.0, inertia=1000, friction=0.5)</big>
::* Add a ball at pos. Other parameters are optional
::* Parameters: pos = (int(x), int(y))</big>
::* Returns: -


=== pymunx.add_square ===
=== pymunx.add_square ===
:<big>add_square (self, pos, a=18, mass=5.0, friction=0.2)</big>
::* Add a square at pos.
::* Parameters: pos = (int(x), int(y))</big>
::* Returns: -


=== pymunx.add_poly ===
=== pymunx.add_poly ===
:<big>add_poly(self, points, mass=150.0, friction=10.0)</big>
::* Add a polygon from given a given pygame pointlist
::* Parameters: points = [(int(x), int(y)), (int(x), int(y)), ...]
::* Returns: -

Revision as of 20:11, 8 March 2008

pymunx

Physics API for easy usage of chipmunk physics engine in pygame (with pymunk)
pymunx.__init__ Init function: pymunk, get flags, get screen size, init space
pymunx.set_info Set the Info-Text for the upper left corner
pymunx.flipy Convert Chipmunk y-coordinate to pyGame
pymunx.vec2df Convert a pygame pos to a vec2d with flipped y coordinate
pymunx.autoset_screen_size Get screensize from pygame
pymunx.get_pymunk_flags Check pymunk version and adjusts settings
pymunx.update Update the physics space
pymunx.draw Call draw_shape for each element
pymunx.draw_shape Draw a given shape (circle, segment, poly) on the surface
pymunx.add_wall Add a fixed wall
pymunx.add_ball Add a ball
pymunx.add_square Add a square
pymunx.add_poly Add a polygon


pymunx.__init__

def __init__(self, gravity=(0.0,-900.0))
  • Init function - pymunk, get flags, get screen size, init space
  • Parameters: gravity = (int(x), int(y))
  • Returns: class pymunx


pymunx.set_info

pymunx.set_info(self, txt)
  • Set the Info-Text which will be blit at the upper left corner each update
  • Parameters: txt = str (break lines with \n)
  • Returns: -


pymunx.flipy

pymunx.flipy (self, y)
  1. Convert Chipmunk y-coordinate to pyGame (y = -y + self.display_height)
  2. Parameters: y = int
  3. Returns: int(y_new)


pymunx.vec2df

vec2df(self, pos)
  • Convert a pygame pos to a vec2d with flipped y coordinate
  • Parameters: pos = (int(x), int(y))
  • Returns: class vec2d((pos[0], self.flipy(pos[1])))


pymunx.autoset_screen_size

autoset_screen_size (self)
  • Get screensize from pygame. Call this only on resize
  • Returns: -


pymunx.get_pymunk_flags

get_pymunk_flags (self)
  • Check pymunk version, adjusts settings and returns new flagset
  • Returns: class pymunk_flags


pymunx.update

update (self, fps=50.0, steps=5)
  • Update thy physics. fps is optional and by default set to 50.0 - steps is substeps per update
  • Returns: -


pymunx.draw

draw (self, surface)
  • Iterate through all elements and call draw_shape with each
  • Parameters: surface = pygame.Surface
  • Returns: -


pymunx.draw_shape

draw_shape (self, surface, shape)
  • Draw a given shape (circle, segment, poly) on the surface
  • Parameters: surface = pygame.Surface | shape = pymunk.Shape
  • Returns: -


pymunx.add_wall

add_wall (self, p1, p2, friction=10.0)
  • Add a fixed wall between points p1 and p2. friction is a optional parameter
  • Parameters: p = (int(x), int(y))
  • Returns: -


pymunx.add_ball

add_ball (self, pos, radius=15, mass=10.0, inertia=1000, friction=0.5)
  • Add a ball at pos. Other parameters are optional
  • Parameters: pos = (int(x), int(y))
  • Returns: -


pymunx.add_square

add_square (self, pos, a=18, mass=5.0, friction=0.2)
  • Add a square at pos.
  • Parameters: pos = (int(x), int(y))
  • Returns: -


pymunx.add_poly

add_poly(self, points, mass=150.0, friction=10.0)
  • Add a polygon from given a given pygame pointlist
  • Parameters: points = [(int(x), int(y)), (int(x), int(y)), ...]
  • Returns: -