4 <style type='text/css'><!--
6 border: 1px solid black;
41 .wiki h1, .wiki h2, .wiki h3, .wiki h4, .wiki h5, .wiki h6 {
45 border-bottom: 1px solid #bbbbbb;
73 .wiki code, .wiki pre {
76 border: 1px dashed #888888;
81 border-top: 1px solid #888888;
82 border-left: 1px solid #888888;
83 border-spacing: 0px; border-collapse: collapse;
86 border-bottom: 1px solid #888888;
87 border-right: 1px solid #888888;
92 border-bottom: 1px solid #888888;
93 border-right: 1px solid #888888;
104 <table cellpadding=8><tr><td>
105 <a href='http://www.imitationpickles.org/pgu/'><img src='skin/logo.gif' alt="Phil's pyGame Utilities" border=0></a>
106 <td style='font-size:48px'>Documentation
111 <hr width=500 align=center>
113 <table width='100%'><tr><td valign=top width=120 style='padding-right:6px;border-right: 1px solid black;'>
114 <a href='index.html'>Overview</a><br><br>
115 <strong>Scripts</strong><br>
116 <a href="tileedit.html">tileedit</a>
117 | <a href="leveledit.html">leveledit</a>
118 | <a href="tganew.html">tganew</a>
119 | <a href="levelfancy.html">levelfancy</a>
121 <strong>Reference</strong><br>
122 <a href="algo.html">algo</a>
123 | <a href="ani.html">ani</a>
124 | <a href="engine.html">engine</a>
125 | <a href="fonts.html">fonts</a>
126 | <a href="high.html">high</a>
127 | <a href="html.html">html</a>
128 | <a href="layout.html">layout</a>
129 | <a href="text.html">text</a>
130 | <a href="timer.html">timer</a>
131 | <a href="vid.html">vid</a>
133 <strong>Tutorials</strong><br>
134 <a href="tilevid1.html">1</a>
135 | <a href="tilevid2.html">2</a>
136 | <a href="tilevid3.html">3</a>
137 | <a href="tilevid4.html">4</a>
138 | <a href="tilevid5.html">5</a>
140 <strong>GUI Ref.</strong><br>
141 <a href="gui.theme.html">theme</a>
142 | <a href="gui.style.html">style</a>
143 | <a href="gui.widget.html">widget</a>
144 | <a href="gui.surface.html">surface</a>
145 | <a href="gui.const.html">const</a>
147 <strong>Containers</strong><br>
148 <a href="gui.container.html">container</a>
149 | <a href="gui.app.html">app</a>
150 | <a href="gui.table.html">table</a>
151 | <a href="gui.document.html">document</a>
152 | <a href="gui.area.html">area</a>
154 <strong>Forms</strong><br>
155 <a href="gui.form.html">form</a>
156 | <a href="gui.group.html">group</a>
158 <strong>Widgets</strong><br>
159 <a href="gui.basic.html">basic</a>
160 | <a href="gui.button.html">button</a>
161 | <a href="gui.input.html">input</a>
162 | <a href="gui.keysym.html">keysym</a>
163 | <a href="gui.slider.html">slider</a>
164 | <a href="gui.select.html">select</a>
165 | <a href="gui.misc.html">misc</a>
167 <strong>Other</strong><br>
168 <a href="gui.menus.html">menus</a>
169 | <a href="gui.dialog.html">dialog</a>
171 <strong>Tutorials</strong><br>
172 <a href="gui1.html">1</a>
173 | <a href="gui2.html">2</a>
174 | <a href="gui3.html">3</a>
175 | <a href="gui4.html">4</a>
176 | <a href="gui5.html">5</a>
177 | <a href="gui6.html">6</a>
178 | <a href="gui7.html">7</a>
179 | <a href="gui8.html">8</a>
180 | <a href="gui9.html">9</a>
181 | <a href="gui10.html">10</a>
184 <td valign=top style='padding-left:6px;'>
187 <table class='sections' align=right>
188 <tr><th>sections</th>
189 <tr><td class='h1'><a href='#Sprite'>Sprite</a>
190 <tr><td class='h2'><a href='#Sprite.setimage'>Sprite.setimage</a>
191 <tr><td class='h1'><a href='#Tile'>Tile</a>
192 <tr><td class='h1'><a href='#Vid'>Vid</a>
193 <tr><td class='h2'><a href='#Vid.resize'>Vid.resize</a>
194 <tr><td class='h2'><a href='#Vid.set'>Vid.set</a>
195 <tr><td class='h2'><a href='#Vid.get'>Vid.get</a>
196 <tr><td class='h2'><a href='#Vid.paint'>Vid.paint</a>
197 <tr><td class='h2'><a href='#Vid.update'>Vid.update</a>
198 <tr><td class='h2'><a href='#Vid.tga_load_level'>Vid.tga_load_level</a>
199 <tr><td class='h2'><a href='#Vid.tga_save_level'>Vid.tga_save_level</a>
200 <tr><td class='h2'><a href='#Vid.tga_load_tiles'>Vid.tga_load_tiles</a>
201 <tr><td class='h2'><a href='#Vid.load_images'>Vid.load_images</a>
202 <tr><td class='h2'><a href='#Vid.run_codes'>Vid.run_codes</a>
203 <tr><td class='h2'><a href='#Vid.string2groups'>Vid.string2groups</a>
204 <tr><td class='h2'><a href='#Vid.list2groups'>Vid.list2groups</a>
205 <tr><td class='h2'><a href='#Vid.groups2list'>Vid.groups2list</a>
206 <tr><td class='h2'><a href='#Vid.loop'>Vid.loop</a>
207 <tr><td class='h2'><a href='#Vid.screen_to_tile'>Vid.screen_to_tile</a>
208 <tr><td class='h2'><a href='#Vid.tile_to_screen'>Vid.tile_to_screen</a>
214 Sprite and tile engine.
216 tilevid, isovid, hexvid are all subclasses of this interface.
218 Includes support for:
223 * Sprite-Sprite Collision handling
224 * Sprite-Tile Collision handling
226 * Loading from PGU tile and sprite formats (optional)
227 * Set rate FPS (optional)
229 This code was previously known as the King James Version (named after the
230 Bible of the same name for historical reasons.)
237 The object used for Sprites.
240 ishape -- an image, or an image, rectstyle. The rectstyle will
241 describe the shape of the image, used for collision
243 pos -- initial (x,y) position of the Sprite.
246 rect -- the current position of the Sprite
247 _rect -- the previous position of the Sprite
248 groups -- the groups the Sprite is in
249 agroups -- the groups the Sprite can hit in a collision
250 hit -- the handler for hits -- hit(g,s,a)
251 loop -- the loop handler, called once a frame
255 <a name="Sprite.setimage">
256 <h3>Sprite.setimage</h3>
258 Set the image of the Sprite.
261 ishape -- an image, or an image, rectstyle. The rectstyle will
262 describe the shape of the image, used for collision detection.
269 Tile Object used by TileCollide.
272 image -- an image for the Tile.
275 agroups -- the groups the Tile can hit in a collision
276 hit -- the handler for hits -- hit(g,t,a)
283 An engine for rendering Sprites and Tiles.
286 sprites -- a list of the Sprites to be displayed. You may append and
287 remove Sprites from it.
288 images -- a dict for images to be put in.
289 size -- the width, height in Tiles of the layers. Do not modify.
290 view -- a pygame.Rect of the viewed area. You may change .x, .y,
291 etc to move the viewed area around.
292 bounds -- a pygame.Rect (set to None by default) that sets the bounds
293 of the viewable area. Useful for setting certain borders
295 tlayer -- the foreground tiles layer
296 clayer -- the code layer (optional)
297 blayer -- the background tiles layer (optional)
298 groups -- a hash of group names to group values (32 groups max, as a tile/sprites
299 membership in a group is determined by the bits in an integer)
303 <a name="Vid.resize">
309 size -- w,h in Tiles of the layers
310 bg -- set to 1 if you wish to use both a foreground layer and a
318 Set a tile in the foreground to a value.
320 Use this method to set tiles in the foreground, as it will make
321 sure the screen is updated with the change. Directly changing
322 the tlayer will not guarantee updates unless you are using .paint()
333 Get the tlayer at pos.
346 screen -- a pygame.Surface to paint to
348 Returns the updated portion of the screen (all of it)
352 <a name="Vid.update">
358 screen -- a pygame.Rect to update
360 Returns a list of updated rectangles.
364 <a name="Vid.tga_load_level">
365 <h3>Vid.tga_load_level</h3>
370 g -- a Tilevid instance
371 fname -- tga image to load
372 bg -- set to 1 if you wish to load the background layer
376 <a name="Vid.tga_save_level">
377 <h3>Vid.tga_save_level</h3>
382 fname -- tga image to save to
386 <a name="Vid.tga_load_tiles">
387 <h3>Vid.tga_load_tiles</h3>
392 g -- a Tilevid instance
393 fname -- tga image to load
394 size -- (w,h) size of tiles in pixels
395 tdata -- tile data, a dict of tile:(agroups, hit handler, config)
399 <a name="Vid.load_images">
400 <h3>Vid.load_images</h3>
405 idata -- a list of (name, fname, shape)
409 <a name="Vid.run_codes">
410 <h3>Vid.run_codes</h3>
415 cdata -- a dict of code:(handler function, value)
416 rect -- a tile rect of the parts of the layer that should have
421 <a name="Vid.string2groups">
422 <h3>Vid.string2groups</h3>
424 Convert a string to groups.
426 <a name="Vid.list2groups">
427 <h3>Vid.list2groups</h3>
429 Convert a list to groups.
431 <a name="Vid.groups2list">
432 <h3>Vid.groups2list</h3>
434 Convert a groups to a list.
439 Update and hit testing loop. Run this once per frame.
441 <a name="Vid.screen_to_tile">
442 <h3>Vid.screen_to_tile</h3>
444 Convert a screen position to a tile position.
446 <a name="Vid.tile_to_screen">
447 <h3>Vid.tile_to_screen</h3>
449 Convert a tile position to a screen position.
456 <hr width=500 align=center>
457 <div align='center'>all content (c) 2006 Phil Hassey - <a href='http://www.imitationpickles.org/pgu/'>Phil's pyGame Utilities</a></div>