annotate docs/ref/sprite.html @ 3172:d1b367fc08bc tests-returncode

Use a return code of 1 when the tests fail.
author Thomas Kluyver <takowl@gmail.com>
date Wed, 09 Jan 2013 10:13:57 +0000
parents 5f97207c3692
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3145
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
3
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
4 <html xmlns="http://www.w3.org/1999/xhtml">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
5 <head>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
7
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
8 <title>pygame.sprite &mdash; Pygame v1.9.2 documentation</title>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
9 <link rel="stylesheet" href="../_static/pygame.css" type="text/css" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
11 <script type="text/javascript">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
12 var DOCUMENTATION_OPTIONS = {
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
13 URL_ROOT: '../',
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
14 VERSION: '1.9.2',
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
15 COLLAPSE_INDEX: false,
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
16 FILE_SUFFIX: '.html',
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
17 HAS_SOURCE: true
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
18 };
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
19 </script>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
20 <script type="text/javascript" src="../_static/jquery.js"></script>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
21 <script type="text/javascript" src="../_static/underscore.js"></script>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
22 <script type="text/javascript" src="../_static/doctools.js"></script>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
23 <link rel="shortcut icon" href="../_static/pygame.ico"/>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
24 <link rel="top" title="Pygame v1.9.2 documentation" href="../index.html" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
25 <link rel="next" title="pygame.Surface" href="surface.html" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
26 <link rel="prev" title="pygame.sndarray" href="sndarray.html" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
27 </head>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
28 <body>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
29
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
30 <div class="document">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
31
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
32 <div class="header">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
33 <table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
34 <tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
35 <td class="logo">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
36 <a href="http://www.pygame.org/">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
37 <img src="../_static/pygame_tiny.png"/>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
38 </a>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
39 <h5>pygame documentation</h5>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
40 </td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
41 <td class="pagelinks">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
42 <p class="top">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
43 ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
44 <a href="http://www.pygame.org/">Pygame Home</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
45 <a href="../index.html">Help Contents</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
46 <a href="../genindex.html">Reference Index</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
47 </p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
48 <p class="bottom">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
49 <a href="camera.html">camera</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
50 <a href="cdrom.html">cdrom</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
51 <a href="color.html">Color</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
52 <a href="cursors.html">cursors</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
53 <a href="display.html">display</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
54 <a href="draw.html">draw</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
55 <a href="event.html">event</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
56 <a href="examples.html">examples</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
57 <a href="font.html">font</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
58 <a href="freetype.html">freetype</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
59 <a href="gfxdraw.html">gfxdraw</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
60 <a href="image.html">image</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
61 <a href="joystick.html">joystick</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
62 <a href="key.html">key</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
63 <a href="locals.html">locals</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
64 <a href="mask.html">mask</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
65 <a href="math.html">math</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
66 <a href="midi.html">midi</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
67 <a href="mixer.html">mixer</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
68 <a href="mouse.html">mouse</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
69 <a href="movie.html">movie</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
70 <a href="music.html">music</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
71 <a href="overlay.html">Overlay</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
72 <a href="pixelarray.html">PixelArray</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
73 <a href="pixelcopy.html">pixelcopy</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
74 <a href="pygame.html">pygame</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
75 <a href="rect.html">Rect</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
76 <a href="scrap.html">scrap</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
77 <a href="sndarray.html">sndarray</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
78 <a href="sprite.html">sprite</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
79 <a href="surface.html">Surface</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
80 <a href="surfarray.html">surfarray</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
81 <a href="tests.html">tests</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
82 <a href="time.html">time</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
83 <a href="transform.html">transform</a> ||
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
84 <a href="pygame.html#module-pygame.version">version</a>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
85 </p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
86 </td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
87 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
88 </table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
89 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
90
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
91 <div class="documentwrapper">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
92 <div class="body">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
93
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
94 <div class="sectionwrapper">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
95 <div class="section" id="module-pygame.sprite">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
96 <span id="pygame-sprite"></span><dl class="definition module">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
97 <dt class="title module">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
98 <tt class="docutils literal"><span class="pre">pygame.sprite</span></tt></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
99 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
100 <div class="line"><span class="summaryline">pygame module with basic game object classes</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
101 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
102 <table border="1" class="toc docutils">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
103 <colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
104 <col width="30%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
105 <col width="1%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
106 <col width="69%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
107 </colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
108 <tbody valign="top">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
109 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Sprite">pygame.sprite.Sprite</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
110 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
111 <td>simple base class for visible game objects</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
112 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
113 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.DirtySprite">pygame.sprite.DirtySprite</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
114 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
115 <td>a more featureful subclass of Sprite with more attributes</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
116 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
117 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group">pygame.sprite.Group</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
118 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
119 <td>container class for many Sprites</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
120 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
121 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.RenderPlain">pygame.sprite.RenderPlain</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
122 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
123 <td></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
124 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
125 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.RenderClear">pygame.sprite.RenderClear</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
126 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
127 <td></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
128 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
129 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.RenderUpdates">pygame.sprite.RenderUpdates</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
130 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
131 <td>Group class that tracks dirty updates</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
132 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
133 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.OrderedUpdates">pygame.sprite.OrderedUpdates</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
134 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
135 <td>RenderUpdates class that draws Sprites in order of addition</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
136 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
137 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates">pygame.sprite.LayeredUpdates</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
138 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
139 <td>LayeredUpdates Group handles layers, that draws like OrderedUpdates.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
140 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
141 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty">pygame.sprite.LayeredDirty</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
142 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
143 <td>LayeredDirty Group is for DirtySprites. Subclasses LayeredUpdates.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
144 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
145 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.GroupSingle">pygame.sprite.GroupSingle</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
146 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
147 <td>Group container that holds a single Sprite</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
148 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
149 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.spritecollide">pygame.sprite.spritecollide</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
150 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
151 <td>find Sprites in a Group that intersect another Sprite</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
152 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
153 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.collide_rect">pygame.sprite.collide_rect</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
154 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
155 <td>collision detection between two sprites, using rects.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
156 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
157 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.collide_rect_ratio">pygame.sprite.collide_rect_ratio</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
158 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
159 <td>collision detection between two sprites, using rects scaled to a ratio.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
160 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
161 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.collide_circle">pygame.sprite.collide_circle</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
162 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
163 <td>collision detection between two sprites, using circles.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
164 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
165 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.collide_circle_ratio">pygame.sprite.collide_circle_ratio</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
166 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
167 <td>collision detection between two sprites, using circles scaled to a ratio.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
168 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
169 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.collide_mask">pygame.sprite.collide_mask</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
170 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
171 <td>collision detection between two sprites, using masks.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
172 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
173 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.groupcollide">pygame.sprite.groupcollide</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
174 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
175 <td>find all Sprites that collide between two Groups</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
176 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
177 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.spritecollideany">pygame.sprite.spritecollideany</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
178 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
179 <td>simple test if a Sprite intersects anything in a Group</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
180 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
181 </tbody>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
182 </table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
183 <p>This module contains several simple classes to be used within games. There is
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
184 the main Sprite class and several Group classes that contain Sprites. The use
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
185 of these classes is entirely optional when using Pygame. The classes are fairly
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
186 lightweight and only provide a starting place for the code that is common to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
187 most games.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
188 <p>The Sprite class is intended to be used as a base class for the different types
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
189 of objects in the game. There is also a base Group class that simply stores
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
190 sprites. A game could create new types of Group classes that operate on
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
191 specially customized Sprite instances they contain.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
192 <p>The basic Sprite class can draw the Sprites it contains to a Surface. The
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
193 <tt class="docutils literal"><span class="pre">Group.draw()</span></tt> method requires that each Sprite have a <tt class="docutils literal"><span class="pre">Surface.image</span></tt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
194 attribute and a <tt class="docutils literal"><span class="pre">Surface.rect</span></tt>. The <tt class="docutils literal"><span class="pre">Group.clear()</span></tt> method requires these
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
195 same attributes, and can be used to erase all the Sprites with background.
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
196 There are also more advanced Groups: <tt class="docutils literal"><span class="pre">pygame.sprite.RenderUpdates()</span></tt> and
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
197 <tt class="docutils literal"><span class="pre">pygame.sprite.OrderedUpdates()</span></tt>.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
198 <p>Lastly, this module contains several collision functions. These help find
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
199 sprites inside multiple groups that have intersecting bounding rectangles. To
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
200 find the collisions, the Sprites are required to have a <tt class="docutils literal"><span class="pre">Surface.rect</span></tt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
201 attribute assigned.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
202 <p>The groups are designed for high efficiency in removing and adding Sprites to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
203 them. They also allow cheap testing to see if a Sprite already exists in a
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
204 Group. A given Sprite can exist in any number of groups. A game could use some
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
205 groups to control object rendering, and a completely separate set of groups to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
206 control interaction or player movement. Instead of adding type attributes or
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
207 bools to a derived Sprite class, consider keeping the Sprites inside organized
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
208 Groups. This will allow for easier lookup later in the game.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
209 <p>Sprites and Groups manage their relationships with the <tt class="docutils literal"><span class="pre">add()</span></tt> and
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
210 <tt class="docutils literal"><span class="pre">remove()</span></tt> methods. These methods can accept a single or multiple targets for
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
211 membership. The default initializers for these classes also takes a single or
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
212 list of targets for initial membership. It is safe to repeatedly add and remove
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
213 the same Sprite from a Group.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
214 <p>While it is possible to design sprite and group classes that don&#8217;t derive from
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
215 the Sprite and AbstractGroup classes below, it is strongly recommended that you
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
216 extend those when you add a Sprite or Group class.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
217 <p>Sprites are not thread safe. So lock them yourself if using threads.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
218 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
219 <dt class="title" id="pygame.sprite.Sprite">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
220 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">Sprite</tt><a class="headerlink" href="#pygame.sprite.Sprite" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
221 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
222 <div class="line"><span class="summaryline">simple base class for visible game objects</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
223 <div class="line"><span class="signature">Sprite(*groups) -&gt; Sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
224 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
225 <table border="1" class="toc docutils">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
226 <colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
227 <col width="37%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
228 <col width="1%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
229 <col width="62%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
230 </colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
231 <tbody valign="top">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
232 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Sprite.update">pygame.sprite.Sprite.update</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
233 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
234 <td>method to control sprite behavior</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
235 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
236 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Sprite.add">pygame.sprite.Sprite.add</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
237 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
238 <td>add the sprite to groups</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
239 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
240 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Sprite.remove">pygame.sprite.Sprite.remove</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
241 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
242 <td>remove the sprite from groups</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
243 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
244 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Sprite.kill">pygame.sprite.Sprite.kill</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
245 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
246 <td>remove the Sprite from all Groups</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
247 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
248 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Sprite.alive">pygame.sprite.Sprite.alive</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
249 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
250 <td>does the sprite belong to any groups</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
251 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
252 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Sprite.groups">pygame.sprite.Sprite.groups</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
253 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
254 <td>list of Groups that contain this Sprite</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
255 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
256 </tbody>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
257 </table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
258 <p>The base class for visible game objects. Derived classes will want to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
259 override the <tt class="docutils literal"><span class="pre">Sprite.update()</span></tt> and assign a <tt class="docutils literal"><span class="pre">Sprite.image</span></tt> and
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
260 <tt class="docutils literal"><span class="pre">Sprite.rect</span></tt> attributes. The initializer can accept any number of Group
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
261 instances to be added to.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
262 <p>When subclassing the Sprite, be sure to call the base initializer before
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
263 adding the Sprite to Groups.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
264 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
265 <dt class="title" id="pygame.sprite.Sprite.update">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
266 <tt class="descname">update</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Sprite.update" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
267 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
268 <div class="line"><span class="summaryline">method to control sprite behavior</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
269 <div class="line"><span class="signature">update(*args) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
270 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
271 <p>The default implementation of this method does nothing; it&#8217;s just a
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
272 convenient &#8220;hook&#8221; that you can override. This method is called by
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
273 <tt class="docutils literal"><span class="pre">Group.update()</span></tt> with whatever arguments you give it.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
274 <p>There is no need to use this method if not using the convenience method
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
275 by the same name in the Group class.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
276 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
277
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
278 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
279 <dt class="title" id="pygame.sprite.Sprite.add">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
280 <tt class="descname">add</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Sprite.add" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
281 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
282 <div class="line"><span class="summaryline">add the sprite to groups</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
283 <div class="line"><span class="signature">add(*groups) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
284 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
285 <p>Any number of Group instances can be passed as arguments. The Sprite will
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
286 be added to the Groups it is not already a member of.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
287 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
288
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
289 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
290 <dt class="title" id="pygame.sprite.Sprite.remove">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
291 <tt class="descname">remove</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Sprite.remove" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
292 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
293 <div class="line"><span class="summaryline">remove the sprite from groups</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
294 <div class="line"><span class="signature">remove(*groups) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
295 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
296 <p>Any number of Group instances can be passed as arguments. The Sprite will
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
297 be removed from the Groups it is currently a member of.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
298 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
299
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
300 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
301 <dt class="title" id="pygame.sprite.Sprite.kill">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
302 <tt class="descname">kill</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Sprite.kill" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
303 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
304 <div class="line"><span class="summaryline">remove the Sprite from all Groups</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
305 <div class="line"><span class="signature">kill() -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
306 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
307 <p>The Sprite is removed from all the Groups that contain it. This won&#8217;t
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
308 change anything about the state of the Sprite. It is possible to continue
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
309 to use the Sprite after this method has been called, including adding it
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
310 to Groups.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
311 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
312
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
313 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
314 <dt class="title" id="pygame.sprite.Sprite.alive">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
315 <tt class="descname">alive</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Sprite.alive" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
316 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
317 <div class="line"><span class="summaryline">does the sprite belong to any groups</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
318 <div class="line"><span class="signature">alive() -&gt; bool</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
319 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
320 <p>Returns True when the Sprite belongs to one or more Groups.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
321 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
322
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
323 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
324 <dt class="title" id="pygame.sprite.Sprite.groups">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
325 <tt class="descname">groups</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Sprite.groups" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
326 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
327 <div class="line"><span class="summaryline">list of Groups that contain this Sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
328 <div class="line"><span class="signature">groups() -&gt; group_list</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
329 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
330 <p>Return a list of all the Groups that contain this Sprite.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
331 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
332
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
333 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
334
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
335 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
336 <dt class="title" id="pygame.sprite.DirtySprite">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
337 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">DirtySprite</tt><a class="headerlink" href="#pygame.sprite.DirtySprite" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
338 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
339 <div class="line"><span class="summaryline">a more featureful subclass of Sprite with more attributes</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
340 <div class="line"><span class="signature">DirtySprite(*groups) -&gt; DirtySprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
341 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
342 <p>Extra DirtySprite attributes with their default values:</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
343 <p>dirty = 1</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
344 <div class="highlight-python"><pre>if set to 1, it is repainted and then set to 0 again
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
345 if set to 2 then it is always dirty ( repainted each frame,
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
346 flag is not reset)
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
347 0 means that it is not dirty and therefor not repainted again</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
348 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
349 <p>blendmode = 0</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
350 <div class="highlight-python"><pre>its the special_flags argument of blit, blendmodes</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
351 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
352 <p>source_rect = None</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
353 <div class="highlight-python"><pre>source rect to use, remember that it is relative to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
354 topleft (0,0) of self.image</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
355 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
356 <p>visible = 1</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
357 <div class="highlight-python"><pre>normally 1, if set to 0 it will not be repainted
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
358 (you must set it dirty too to be erased from screen)</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
359 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
360 <p>layer = 0</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
361 <div class="highlight-python"><pre>(READONLY value, it is read when adding it to the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
362 LayeredDirty, for details see doc of LayeredDirty)</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
363 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
364 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
365
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
366 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
367 <dt class="title" id="pygame.sprite.Group">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
368 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">Group</tt><a class="headerlink" href="#pygame.sprite.Group" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
369 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
370 <div class="line"><span class="summaryline">container class for many Sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
371 <div class="line"><span class="signature">Group(*sprites) -&gt; Group</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
372 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
373 <table border="1" class="toc docutils">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
374 <colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
375 <col width="35%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
376 <col width="1%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
377 <col width="64%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
378 </colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
379 <tbody valign="top">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
380 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.sprites">pygame.sprite.Group.sprites</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
381 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
382 <td>list of the Sprites this Group contains</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
383 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
384 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.copy">pygame.sprite.Group.copy</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
385 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
386 <td>duplicate the Group</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
387 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
388 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.add">pygame.sprite.Group.add</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
389 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
390 <td>add Sprites to this Group</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
391 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
392 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.remove">pygame.sprite.Group.remove</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
393 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
394 <td>remove Sprites from the Group</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
395 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
396 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.has">pygame.sprite.Group.has</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
397 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
398 <td>test if a Group contains Sprites</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
399 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
400 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.update">pygame.sprite.Group.update</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
401 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
402 <td>call the update method on contained Sprites</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
403 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
404 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.draw">pygame.sprite.Group.draw</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
405 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
406 <td>blit the Sprite images</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
407 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
408 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.clear">pygame.sprite.Group.clear</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
409 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
410 <td>draw a background over the Sprites</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
411 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
412 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.Group.empty">pygame.sprite.Group.empty</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
413 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
414 <td>remove all Sprites</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
415 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
416 </tbody>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
417 </table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
418 <p>A simple container for Sprite objects. This class can be inherited to create
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
419 containers with more specific behaviors. The constructor takes any number of
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
420 Sprite arguments to add to the Group. The group supports the following
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
421 standard Python operations:</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
422 <div class="highlight-python"><pre>in test if a Sprite is contained
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
423 len the number of Sprites contained
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
424 bool test if any Sprites are contained
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
425 iter iterate through all the Sprites</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
426 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
427 <p>The Sprites in the Group are not ordered, so drawing and iterating the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
428 Sprites is in no particular order.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
429 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
430 <dt class="title" id="pygame.sprite.Group.sprites">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
431 <tt class="descname">sprites</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.sprites" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
432 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
433 <div class="line"><span class="summaryline">list of the Sprites this Group contains</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
434 <div class="line"><span class="signature">sprites() -&gt; sprite_list</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
435 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
436 <p>Return a list of all the Sprites this group contains. You can also get an
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
437 iterator from the group, but you cannot iterator over a Group while
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
438 modifying it.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
439 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
440
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
441 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
442 <dt class="title" id="pygame.sprite.Group.copy">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
443 <tt class="descname">copy</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.copy" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
444 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
445 <div class="line"><span class="summaryline">duplicate the Group</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
446 <div class="line"><span class="signature">copy() -&gt; Group</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
447 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
448 <p>Creates a new Group with all the same Sprites as the original. If you
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
449 have subclassed Group, the new object will have the same (sub-)class as
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
450 the original. This only works if the derived class&#8217;s constructor takes
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
451 the same arguments as the Group class&#8217;s.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
452 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
453
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
454 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
455 <dt class="title" id="pygame.sprite.Group.add">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
456 <tt class="descname">add</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.add" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
457 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
458 <div class="line"><span class="summaryline">add Sprites to this Group</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
459 <div class="line"><span class="signature">add(*sprites) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
460 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
461 <p>Add any number of Sprites to this Group. This will only add Sprites that
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
462 are not already members of the Group.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
463 <p>Each sprite argument can also be a iterator containing Sprites.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
464 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
465
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
466 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
467 <dt class="title" id="pygame.sprite.Group.remove">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
468 <tt class="descname">remove</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.remove" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
469 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
470 <div class="line"><span class="summaryline">remove Sprites from the Group</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
471 <div class="line"><span class="signature">remove(*sprites) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
472 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
473 <p>Remove any number of Sprites from the Group. This will only remove
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
474 Sprites that are already members of the Group.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
475 <p>Each sprite argument can also be a iterator containing Sprites.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
476 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
477
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
478 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
479 <dt class="title" id="pygame.sprite.Group.has">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
480 <tt class="descname">has</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.has" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
481 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
482 <div class="line"><span class="summaryline">test if a Group contains Sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
483 <div class="line"><span class="signature">has(*sprites) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
484 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
485 <p>Return True if the Group contains all of the given sprites. This is
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
486 similar to using the &#8220;in&#8221; operator on the Group (&#8220;if sprite in group:
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
487 ...&#8221;), which tests if a single Sprite belongs to a Group.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
488 <p>Each sprite argument can also be a iterator containing Sprites.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
489 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
490
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
491 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
492 <dt class="title" id="pygame.sprite.Group.update">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
493 <tt class="descname">update</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.update" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
494 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
495 <div class="line"><span class="summaryline">call the update method on contained Sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
496 <div class="line"><span class="signature">update(*args) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
497 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
498 <p>Calls the <tt class="docutils literal"><span class="pre">update()</span></tt> method on all Sprites in the Group. The base
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
499 Sprite class has an update method that takes any number of arguments and
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
500 does nothing. The arguments passed to <tt class="docutils literal"><span class="pre">Group.update()</span></tt> will be passed
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
501 to each Sprite.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
502 <p>There is no way to get the return value from the <tt class="docutils literal"><span class="pre">Sprite.update()</span></tt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
503 methods.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
504 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
505
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
506 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
507 <dt class="title" id="pygame.sprite.Group.draw">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
508 <tt class="descname">draw</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.draw" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
509 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
510 <div class="line"><span class="summaryline">blit the Sprite images</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
511 <div class="line"><span class="signature">draw(Surface) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
512 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
513 <p>Draws the contained Sprites to the Surface argument. This uses the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
514 <tt class="docutils literal"><span class="pre">Sprite.image</span></tt> attribute for the source surface, and <tt class="docutils literal"><span class="pre">Sprite.rect</span></tt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
515 for the position.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
516 <p>The Group does not keep sprites in any order, so the draw order is
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
517 arbitrary.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
518 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
519
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
520 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
521 <dt class="title" id="pygame.sprite.Group.clear">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
522 <tt class="descname">clear</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.clear" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
523 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
524 <div class="line"><span class="summaryline">draw a background over the Sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
525 <div class="line"><span class="signature">clear(Surface_dest, background) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
526 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
527 <p>Erases the Sprites used in the last <tt class="docutils literal"><span class="pre">Group.draw()</span></tt> call. The
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
528 destination Surface is cleared by filling the drawn Sprite positions with
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
529 the background.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
530 <p>The background is usually a Surface image the same dimensions as the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
531 destination Surface. However, it can also be a callback function that
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
532 takes two arguments; the destination Surface and an area to clear. The
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
533 background callback function will be called several times each clear.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
534 <p>Here is an example callback that will clear the Sprites with solid red:</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
535 <div class="highlight-python"><div class="highlight"><pre><span class="k">def</span> <span class="nf">clear_callback</span><span class="p">(</span><span class="n">surf</span><span class="p">,</span> <span class="n">rect</span><span class="p">):</span>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
536 <span class="n">color</span> <span class="o">=</span> <span class="mi">255</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
537 <span class="n">surf</span><span class="o">.</span><span class="n">fill</span><span class="p">(</span><span class="n">color</span><span class="p">,</span> <span class="n">rect</span><span class="p">)</span>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
538 </pre></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
539 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
540 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
541
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
542 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
543 <dt class="title" id="pygame.sprite.Group.empty">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
544 <tt class="descname">empty</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.Group.empty" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
545 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
546 <div class="line"><span class="summaryline">remove all Sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
547 <div class="line"><span class="signature">empty() -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
548 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
549 <p>Removes all Sprites from this Group.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
550 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
551
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
552 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
553
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
554 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
555 <dt class="title" id="pygame.sprite.RenderPlain">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
556 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">RenderPlain</tt><a class="headerlink" href="#pygame.sprite.RenderPlain" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
557 <dd><p>same as pygame.sprite.Group</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
558 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
559
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
560 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
561 <dt class="title" id="pygame.sprite.RenderClear">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
562 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">RenderClear</tt><a class="headerlink" href="#pygame.sprite.RenderClear" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
563 <dd><p>same as pygame.sprite.Group</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
564 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
565
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
566 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
567 <dt class="title" id="pygame.sprite.RenderUpdates">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
568 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">RenderUpdates</tt><a class="headerlink" href="#pygame.sprite.RenderUpdates" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
569 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
570 <div class="line"><span class="summaryline">Group class that tracks dirty updates</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
571 <div class="line"><span class="signature">RenderUpdates(*sprites) -&gt; RenderUpdates</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
572 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
573 <table border="1" class="toc docutils">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
574 <colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
575 <col width="37%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
576 <col width="1%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
577 <col width="62%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
578 </colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
579 <tbody valign="top">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
580 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.RenderUpdates.draw">pygame.sprite.RenderUpdates.draw</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
581 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
582 <td>blit the Sprite images and track changed areas</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
583 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
584 </tbody>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
585 </table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
586 <p>This class is derived from <tt class="docutils literal"><span class="pre">pygame.sprite.Group()</span></tt>. It has an extended
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
587 <tt class="docutils literal"><span class="pre">draw()</span></tt> method that tracks the changed areas of the screen.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
588 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
589 <dt class="title" id="pygame.sprite.RenderUpdates.draw">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
590 <tt class="descname">draw</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.RenderUpdates.draw" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
591 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
592 <div class="line"><span class="summaryline">blit the Sprite images and track changed areas</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
593 <div class="line"><span class="signature">draw(surface) -&gt; Rect_list</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
594 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
595 <p>Draws all the Sprites to the surface, the same as <tt class="docutils literal"><span class="pre">Group.draw()</span></tt>. This
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
596 method also returns a list of Rectangular areas on the screen that have
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
597 been changed. The returned changes include areas of the screen that have
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
598 been affected by previous <tt class="docutils literal"><span class="pre">Group.clear()</span></tt> calls.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
599 <p>The returned Rect list should be passed to <tt class="docutils literal"><span class="pre">pygame.display.update()</span></tt>.
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
600 This will help performance on software driven display modes. This type of
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
601 updating is usually only helpful on destinations with non-animating
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
602 backgrounds.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
603 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
604
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
605 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
606
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
607 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
608 <dt class="title" id="pygame.sprite.OrderedUpdates">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
609 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">OrderedUpdates</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.OrderedUpdates" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
610 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
611 <div class="line"><span class="summaryline">RenderUpdates class that draws Sprites in order of addition</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
612 <div class="line"><span class="signature">OrderedUpdates(*spites) -&gt; OrderedUpdates</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
613 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
614 <p>This class derives from <tt class="docutils literal"><span class="pre">pygame.sprite.RenderUpdates()</span></tt>. It maintains the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
615 order in which the Sprites were added to the Group for rendering. This makes
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
616 adding and removing Sprites from the Group a little slower than regular
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
617 Groups.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
618 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
619
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
620 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
621 <dt class="title" id="pygame.sprite.LayeredUpdates">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
622 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">LayeredUpdates</tt><a class="headerlink" href="#pygame.sprite.LayeredUpdates" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
623 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
624 <div class="line"><span class="summaryline">LayeredUpdates Group handles layers, that draws like OrderedUpdates.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
625 <div class="line"><span class="signature">LayeredUpdates(*spites, **kwargs) -&gt; LayeredUpdates</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
626 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
627 <table border="1" class="toc docutils">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
628 <colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
629 <col width="42%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
630 <col width="1%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
631 <col width="58%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
632 </colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
633 <tbody valign="top">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
634 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.add">pygame.sprite.LayeredUpdates.add</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
635 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
636 <td>add a sprite or sequence of sprites to a group</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
637 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
638 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.sprites">pygame.sprite.LayeredUpdates.sprites</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
639 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
640 <td>returns a ordered list of sprites (first back, last top).</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
641 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
642 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.draw">pygame.sprite.LayeredUpdates.draw</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
643 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
644 <td>draw all sprites in the right order onto the passed surface.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
645 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
646 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.get_sprites_at">pygame.sprite.LayeredUpdates.get_sprites_at</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
647 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
648 <td>returns a list with all sprites at that position.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
649 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
650 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.get_sprite">pygame.sprite.LayeredUpdates.get_sprite</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
651 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
652 <td>returns the sprite at the index idx from the groups sprites</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
653 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
654 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.remove_sprites_of_layer">pygame.sprite.LayeredUpdates.remove_sprites_of_layer</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
655 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
656 <td>removes all sprites from a layer and returns them as a list.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
657 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
658 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.layers">pygame.sprite.LayeredUpdates.layers</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
659 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
660 <td>returns a list of layers defined (unique), sorted from botton up.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
661 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
662 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.change_layer">pygame.sprite.LayeredUpdates.change_layer</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
663 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
664 <td>changes the layer of the sprite</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
665 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
666 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.get_layer_of_sprite">pygame.sprite.LayeredUpdates.get_layer_of_sprite</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
667 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
668 <td>returns the layer that sprite is currently in.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
669 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
670 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.get_top_layer">pygame.sprite.LayeredUpdates.get_top_layer</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
671 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
672 <td>returns the top layer</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
673 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
674 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.get_bottom_layer">pygame.sprite.LayeredUpdates.get_bottom_layer</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
675 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
676 <td>returns the bottom layer</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
677 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
678 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.move_to_front">pygame.sprite.LayeredUpdates.move_to_front</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
679 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
680 <td>brings the sprite to front layer</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
681 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
682 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.move_to_back">pygame.sprite.LayeredUpdates.move_to_back</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
683 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
684 <td>moves the sprite to the bottom layer</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
685 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
686 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.get_top_sprite">pygame.sprite.LayeredUpdates.get_top_sprite</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
687 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
688 <td>returns the topmost sprite</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
689 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
690 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.get_sprites_from_layer">pygame.sprite.LayeredUpdates.get_sprites_from_layer</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
691 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
692 <td>returns all sprites from a layer, ordered by how they where added</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
693 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
694 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredUpdates.switch_layer">pygame.sprite.LayeredUpdates.switch_layer</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
695 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
696 <td>switches the sprites from layer1 to layer2</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
697 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
698 </tbody>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
699 </table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
700 <p>This group is fully compatible with <a class="tooltip reference internal" href="#pygame.sprite.Sprite" title=""><tt class="xref py py-class docutils literal"><span class="pre">pygame.sprite.Sprite</span></tt><span class="tooltip-content">simple base class for visible game objects</span></a>.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
701 <p>You can set the default layer through kwargs using &#8216;default_layer&#8217; and an
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
702 integer for the layer. The default layer is 0.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
703 <p>If the sprite you add has an attribute layer then that layer will be used.
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
704 If the **kwarg contains &#8216;layer&#8217; then the sprites passed will be added to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
705 that layer (overriding the <tt class="docutils literal"><span class="pre">sprite.layer</span></tt> attribute). If neither sprite
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
706 has attribute layer nor **kwarg then the default layer is used to add the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
707 sprites.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
708 <p>New in pygame 1.8.0</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
709 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
710 <dt class="title" id="pygame.sprite.LayeredUpdates.add">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
711 <tt class="descname">add</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.add" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
712 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
713 <div class="line"><span class="summaryline">add a sprite or sequence of sprites to a group</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
714 <div class="line"><span class="signature">add(*sprites, **kwargs) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
715 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
716 <p>If the <tt class="docutils literal"><span class="pre">sprite(s)</span></tt> have an attribute layer then that is used for the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
717 layer. If **kwargs contains &#8216;layer&#8217; then the <tt class="docutils literal"><span class="pre">sprite(s)</span></tt> will be added
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
718 to that argument (overriding the sprite layer attribute). If neither is
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
719 passed then the <tt class="docutils literal"><span class="pre">sprite(s)</span></tt> will be added to the default layer.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
720 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
721
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
722 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
723 <dt class="title" id="pygame.sprite.LayeredUpdates.sprites">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
724 <tt class="descname">sprites</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.sprites" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
725 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
726 <div class="line"><span class="summaryline">returns a ordered list of sprites (first back, last top).</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
727 <div class="line"><span class="signature">sprites() -&gt; sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
728 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
729 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
730
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
731 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
732 <dt class="title" id="pygame.sprite.LayeredUpdates.draw">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
733 <tt class="descname">draw</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.draw" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
734 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
735 <div class="line"><span class="summaryline">draw all sprites in the right order onto the passed surface.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
736 <div class="line"><span class="signature">draw(surface) -&gt; Rect_list</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
737 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
738 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
739
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
740 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
741 <dt class="title" id="pygame.sprite.LayeredUpdates.get_sprites_at">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
742 <tt class="descname">get_sprites_at</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.get_sprites_at" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
743 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
744 <div class="line"><span class="summaryline">returns a list with all sprites at that position.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
745 <div class="line"><span class="signature">get_sprites_at(pos) -&gt; colliding_sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
746 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
747 <p>Bottom sprites first, top last.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
748 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
749
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
750 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
751 <dt class="title" id="pygame.sprite.LayeredUpdates.get_sprite">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
752 <tt class="descname">get_sprite</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.get_sprite" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
753 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
754 <div class="line"><span class="summaryline">returns the sprite at the index idx from the groups sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
755 <div class="line"><span class="signature">get_sprite(idx) -&gt; sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
756 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
757 <p>Raises IndexOutOfBounds if the idx is not within range.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
758 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
759
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
760 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
761 <dt class="title" id="pygame.sprite.LayeredUpdates.remove_sprites_of_layer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
762 <tt class="descname">remove_sprites_of_layer</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.remove_sprites_of_layer" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
763 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
764 <div class="line"><span class="summaryline">removes all sprites from a layer and returns them as a list.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
765 <div class="line"><span class="signature">remove_sprites_of_layer(layer_nr) -&gt; sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
766 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
767 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
768
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
769 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
770 <dt class="title" id="pygame.sprite.LayeredUpdates.layers">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
771 <tt class="descname">layers</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.layers" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
772 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
773 <div class="line"><span class="summaryline">returns a list of layers defined (unique), sorted from botton up.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
774 <div class="line"><span class="signature">layers() -&gt; layers</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
775 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
776 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
777
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
778 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
779 <dt class="title" id="pygame.sprite.LayeredUpdates.change_layer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
780 <tt class="descname">change_layer</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.change_layer" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
781 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
782 <div class="line"><span class="summaryline">changes the layer of the sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
783 <div class="line"><span class="signature">change_layer(sprite, new_layer) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
784 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
785 <p>sprite must have been added to the renderer. It is not checked.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
786 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
787
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
788 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
789 <dt class="title" id="pygame.sprite.LayeredUpdates.get_layer_of_sprite">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
790 <tt class="descname">get_layer_of_sprite</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.get_layer_of_sprite" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
791 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
792 <div class="line"><span class="summaryline">returns the layer that sprite is currently in.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
793 <div class="line"><span class="signature">get_layer_of_sprite(sprite) -&gt; layer</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
794 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
795 <p>If the sprite is not found then it will return the default layer.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
796 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
797
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
798 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
799 <dt class="title" id="pygame.sprite.LayeredUpdates.get_top_layer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
800 <tt class="descname">get_top_layer</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.get_top_layer" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
801 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
802 <div class="line"><span class="summaryline">returns the top layer</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
803 <div class="line"><span class="signature">get_top_layer() -&gt; layer</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
804 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
805 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
806
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
807 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
808 <dt class="title" id="pygame.sprite.LayeredUpdates.get_bottom_layer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
809 <tt class="descname">get_bottom_layer</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.get_bottom_layer" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
810 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
811 <div class="line"><span class="summaryline">returns the bottom layer</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
812 <div class="line"><span class="signature">get_bottom_layer() -&gt; layer</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
813 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
814 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
815
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
816 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
817 <dt class="title" id="pygame.sprite.LayeredUpdates.move_to_front">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
818 <tt class="descname">move_to_front</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.move_to_front" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
819 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
820 <div class="line"><span class="summaryline">brings the sprite to front layer</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
821 <div class="line"><span class="signature">move_to_front(sprite) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
822 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
823 <p>Brings the sprite to front, changing sprite layer to topmost layer (added
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
824 at the end of that layer).</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
825 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
826
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
827 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
828 <dt class="title" id="pygame.sprite.LayeredUpdates.move_to_back">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
829 <tt class="descname">move_to_back</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.move_to_back" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
830 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
831 <div class="line"><span class="summaryline">moves the sprite to the bottom layer</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
832 <div class="line"><span class="signature">move_to_back(sprite) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
833 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
834 <p>Moves the sprite to the bottom layer, moving it behind all other layers
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
835 and adding one additional layer.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
836 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
837
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
838 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
839 <dt class="title" id="pygame.sprite.LayeredUpdates.get_top_sprite">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
840 <tt class="descname">get_top_sprite</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.get_top_sprite" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
841 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
842 <div class="line"><span class="summaryline">returns the topmost sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
843 <div class="line"><span class="signature">get_top_sprite() -&gt; Sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
844 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
845 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
846
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
847 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
848 <dt class="title" id="pygame.sprite.LayeredUpdates.get_sprites_from_layer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
849 <tt class="descname">get_sprites_from_layer</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.get_sprites_from_layer" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
850 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
851 <div class="line"><span class="summaryline">returns all sprites from a layer, ordered by how they where added</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
852 <div class="line"><span class="signature">get_sprites_from_layer(layer) -&gt; sprites</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
853 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
854 <p>Returns all sprites from a layer, ordered by how they where added. It
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
855 uses linear search and the sprites are not removed from layer.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
856 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
857
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
858 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
859 <dt class="title" id="pygame.sprite.LayeredUpdates.switch_layer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
860 <tt class="descname">switch_layer</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredUpdates.switch_layer" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
861 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
862 <div class="line"><span class="summaryline">switches the sprites from layer1 to layer2</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
863 <div class="line"><span class="signature">switch_layer(layer1_nr, layer2_nr) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
864 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
865 <p>The layers number must exist, it is not checked.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
866 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
867
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
868 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
869
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
870 <dl class="definition class">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
871 <dt class="title" id="pygame.sprite.LayeredDirty">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
872 <em class="property">class </em><tt class="descclassname">pygame.sprite.</tt><tt class="descname">LayeredDirty</tt><a class="headerlink" href="#pygame.sprite.LayeredDirty" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
873 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
874 <div class="line"><span class="summaryline">LayeredDirty Group is for DirtySprites. Subclasses LayeredUpdates.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
875 <div class="line"><span class="signature">LayeredDirty(*spites, **kwargs) -&gt; LayeredDirty</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
876 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
877 <table border="1" class="toc docutils">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
878 <colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
879 <col width="37%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
880 <col width="1%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
881 <col width="62%" />
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
882 </colgroup>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
883 <tbody valign="top">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
884 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty.draw">pygame.sprite.LayeredDirty.draw</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
885 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
886 <td>draw all sprites in the right order onto the passed surface.</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
887 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
888 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty.clear">pygame.sprite.LayeredDirty.clear</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
889 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
890 <td>used to set background</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
891 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
892 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty.repaint_rect">pygame.sprite.LayeredDirty.repaint_rect</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
893 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
894 <td>repaints the given area</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
895 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
896 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty.set_clip">pygame.sprite.LayeredDirty.set_clip</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
897 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
898 <td>clip the area where to draw. Just pass None (default) to reset the clip</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
899 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
900 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty.get_clip">pygame.sprite.LayeredDirty.get_clip</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
901 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
902 <td>get the area where drawing will occur</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
903 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
904 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty.change_layer">pygame.sprite.LayeredDirty.change_layer</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
905 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
906 <td>changes the layer of the sprite</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
907 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
908 <tr><td><a class="toc reference external" href="sprite.html#pygame.sprite.LayeredDirty.set_timing_treshold">pygame.sprite.LayeredDirty.set_timing_treshold</a></td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
909 <td>—</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
910 <td>sets the treshold in milliseconds</td>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
911 </tr>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
912 </tbody>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
913 </table>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
914 <p>This group requires <a class="tooltip reference internal" href="#pygame.sprite.DirtySprite" title=""><tt class="xref py py-class docutils literal"><span class="pre">pygame.sprite.DirtySprite</span></tt><span class="tooltip-content">a more featureful subclass of Sprite with more attributes</span></a> or any sprite that
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
915 has the following attributes:</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
916 <div class="highlight-python"><pre>image, rect, dirty, visible, blendmode (see doc of DirtySprite).</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
917 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
918 <p>It uses the dirty flag technique and is therefore faster than the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
919 <a class="tooltip reference internal" href="#pygame.sprite.RenderUpdates" title=""><tt class="xref py py-class docutils literal"><span class="pre">pygame.sprite.RenderUpdates</span></tt><span class="tooltip-content">Group class that tracks dirty updates</span></a> if you have many static sprites. It
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
920 also switches automatically between dirty rect update and full screen
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
921 drawing, so you do no have to worry what would be faster.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
922 <p>Same as for the <a class="tooltip reference internal" href="#pygame.sprite.Group" title=""><tt class="xref py py-class docutils literal"><span class="pre">pygame.sprite.Group</span></tt><span class="tooltip-content">container class for many Sprites</span></a>. You can specify some
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
923 additional attributes through kwargs:</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
924 <div class="highlight-python"><pre>_use_update: True/False default is False
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
925 _default_layer: default layer where sprites without a layer are added.
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
926 _time_threshold: treshold time for switching between dirty rect mode
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
927 and fullscreen mode, defaults to 1000./80 == 1000./fps</pre>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
928 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
929 <p>New in pygame 1.8.0</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
930 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
931 <dt class="title" id="pygame.sprite.LayeredDirty.draw">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
932 <tt class="descname">draw</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredDirty.draw" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
933 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
934 <div class="line"><span class="summaryline">draw all sprites in the right order onto the passed surface.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
935 <div class="line"><span class="signature">draw(surface, bgd=None) -&gt; Rect_list</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
936 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
937 <p>You can pass the background too. If a background is already set, then the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
938 bgd argument has no effect.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
939 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
940
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
941 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
942 <dt class="title" id="pygame.sprite.LayeredDirty.clear">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
943 <tt class="descname">clear</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredDirty.clear" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
944 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
945 <div class="line"><span class="summaryline">used to set background</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
946 <div class="line"><span class="signature">clear(surface, bgd) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
947 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
948 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
949
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
950 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
951 <dt class="title" id="pygame.sprite.LayeredDirty.repaint_rect">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
952 <tt class="descname">repaint_rect</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredDirty.repaint_rect" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
953 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
954 <div class="line"><span class="summaryline">repaints the given area</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
955 <div class="line"><span class="signature">repaint_rect(screen_rect) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
956 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
957 <p>screen_rect is in screencoordinates. This method does not do any drawing by itself; the area specified by the rect attributes will be redrawn when the draw method is called.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
958 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
959
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
960 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
961 <dt class="title" id="pygame.sprite.LayeredDirty.set_clip">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
962 <tt class="descname">set_clip</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredDirty.set_clip" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
963 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
964 <div class="line"><span class="summaryline">clip the area where to draw. Just pass None (default) to reset the clip</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
965 <div class="line"><span class="signature">set_clip(screen_rect=None) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
966 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
967 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
968
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
969 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
970 <dt class="title" id="pygame.sprite.LayeredDirty.get_clip">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
971 <tt class="descname">get_clip</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredDirty.get_clip" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
972 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
973 <div class="line"><span class="summaryline">get the area where drawing will occur</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
974 <div class="line"><span class="signature">get_clip() -&gt; Rect</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
975 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
976 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
977
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
978 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
979 <dt class="title" id="pygame.sprite.LayeredDirty.change_layer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
980 <tt class="descname">change_layer</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredDirty.change_layer" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
981 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
982 <div class="line"><span class="summaryline">changes the layer of the sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
983 <div class="line"><span class="signature">change_layer(sprite, new_layer) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
984 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
985 <p>sprite must have been added to the renderer. It is not checked.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
986 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
987
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
988 <dl class="definition method">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
989 <dt class="title" id="pygame.sprite.LayeredDirty.set_timing_treshold">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
990 <tt class="descname">set_timing_treshold</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.LayeredDirty.set_timing_treshold" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
991 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
992 <div class="line"><span class="summaryline">sets the treshold in milliseconds</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
993 <div class="line"><span class="signature">set_timing_treshold(time_ms) -&gt; None</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
994 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
995 <p>Default is 1000./80 where 80 is the fps I want to switch to full screen
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
996 mode.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
997 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
998
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
999 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1000
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1001 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1002 <dt class="title" id="pygame.sprite.GroupSingle">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1003 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">GroupSingle</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.GroupSingle" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1004 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1005 <div class="line"><span class="summaryline">Group container that holds a single Sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1006 <div class="line"><span class="signature">GroupSingle(sprite=None) -&gt; GroupSingle</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1007 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1008 <p>The GroupSingle container only holds a single Sprite. When a new Sprite is
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1009 added, the old one is removed.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1010 <p>There is a special property, <tt class="docutils literal"><span class="pre">GroupSingle.sprite</span></tt>, that accesses the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1011 Sprite that this Group contains. It can be None when the Group is empty. The
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1012 property can also be assigned to add a Sprite into the GroupSingle
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1013 container.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1014 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1015
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1016 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1017 <dt class="title" id="pygame.sprite.spritecollide">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1018 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">spritecollide</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.spritecollide" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1019 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1020 <div class="line"><span class="summaryline">find Sprites in a Group that intersect another Sprite</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1021 <div class="line"><span class="signature">spritecollide(sprite, group, dokill, collided = None) -&gt; Sprite_list</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1022 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1023 <p>Return a list containing all Sprites in a Group that intersect with another
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1024 Sprite. Intersection is determined by comparing the <tt class="docutils literal"><span class="pre">Sprite.rect</span></tt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1025 attribute of each Sprite.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1026 <p>The dokill argument is a bool. If set to True, all Sprites that collide will
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1027 be removed from the Group.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1028 <p>The collided argument is a callback function used to calculate if two
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1029 sprites are colliding. it should take two sprites as values, and return a
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1030 bool value indicating if they are colliding. If collided is not passed, all
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1031 sprites must have a &#8220;rect&#8221; value, which is a rectangle of the sprite area,
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1032 which will be used to calculate the collision.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1033 <p>collided callables:</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1034 <div class="highlight-python"><div class="highlight"><pre><span class="n">collide_rect</span><span class="p">,</span> <span class="n">collide_rect_ratio</span><span class="p">,</span> <span class="n">collide_circle</span><span class="p">,</span>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1035 <span class="n">collide_circle_ratio</span><span class="p">,</span> <span class="n">collide_mask</span>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1036 </pre></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1037 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1038 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1039
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1040 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1041 <dt class="title" id="pygame.sprite.collide_rect">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1042 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">collide_rect</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.collide_rect" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1043 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1044 <div class="line"><span class="summaryline">collision detection between two sprites, using rects.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1045 <div class="line"><span class="signature">collide_rect(left, right) -&gt; bool</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1046 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1047 <p>Tests for collision between two sprites. Uses the pygame rect colliderect
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1048 function to calculate the collision. Intended to be passed as a collided
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1049 callback function to the *collide functions. Sprites must have a &#8220;rect&#8221;
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1050 attributes.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1051 <p>New in pygame 1.8.0</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1052 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1053
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1054 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1055 <dt class="title" id="pygame.sprite.collide_rect_ratio">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1056 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">collide_rect_ratio</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.collide_rect_ratio" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1057 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1058 <div class="line"><span class="summaryline">collision detection between two sprites, using rects scaled to a ratio.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1059 <div class="line"><span class="signature">collide_rect_ratio(ratio) -&gt; collided_callable</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1060 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1061 <p>A callable class that checks for collisions between two sprites, using a
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1062 scaled version of the sprites rects.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1063 <p>Is created with a ratio, the instance is then intended to be passed as a
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1064 collided callback function to the *collide functions.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1065 <p>A ratio is a floating point number - 1.0 is the same size, 2.0 is twice as
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1066 big, and 0.5 is half the size.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1067 <p>New in pygame 1.8.1</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1068 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1069
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1070 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1071 <dt class="title" id="pygame.sprite.collide_circle">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1072 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">collide_circle</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.collide_circle" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1073 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1074 <div class="line"><span class="summaryline">collision detection between two sprites, using circles.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1075 <div class="line"><span class="signature">collide_circle(left, right) -&gt; bool</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1076 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1077 <p>Tests for collision between two sprites, by testing to see if two circles
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1078 centered on the sprites overlap. If the sprites have a &#8220;radius&#8221; attribute,
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1079 that is used to create the circle, otherwise a circle is created that is big
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1080 enough to completely enclose the sprites rect as given by the &#8220;rect&#8221;
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1081 attribute. Intended to be passed as a collided callback function to the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1082 *collide functions. Sprites must have a &#8220;rect&#8221; and an optional &#8220;radius&#8221;
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1083 attribute.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1084 <p>New in pygame 1.8.1</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1085 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1086
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1087 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1088 <dt class="title" id="pygame.sprite.collide_circle_ratio">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1089 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">collide_circle_ratio</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.collide_circle_ratio" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1090 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1091 <div class="line"><span class="summaryline">collision detection between two sprites, using circles scaled to a ratio.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1092 <div class="line"><span class="signature">collide_circle_ratio(ratio) -&gt; collided_callable</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1093 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1094 <p>A callable class that checks for collisions between two sprites, using a
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1095 scaled version of the sprites radius.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1096 <p>Is created with a floating point ratio, the instance is then intended to be
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1097 passed as a collided callback function to the *collide functions.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1098 <p>A ratio is a floating point number - 1.0 is the same size, 2.0 is twice as
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1099 big, and 0.5 is half the size.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1100 <p>The created callable tests for collision between two sprites, by testing to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1101 see if two circles centered on the sprites overlap, after scaling the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1102 circles radius by the stored ratio. If the sprites have a &#8220;radius&#8221;
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1103 attribute, that is used to create the circle, otherwise a circle is created
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1104 that is big enough to completely enclose the sprites rect as given by the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1105 &#8220;rect&#8221; attribute. Intended to be passed as a collided callback function to
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1106 the *collide functions. Sprites must have a &#8220;rect&#8221; and an optional &#8220;radius&#8221;
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1107 attribute.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1108 <p>New in pygame 1.8.1</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1109 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1110
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1111 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1112 <dt class="title" id="pygame.sprite.collide_mask">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1113 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">collide_mask</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.collide_mask" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1114 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1115 <div class="line"><span class="summaryline">collision detection between two sprites, using masks.</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1116 <div class="line"><span class="signature">collide_mask(SpriteLeft, SpriteRight) -&gt; point</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1117 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1118 <p>Returns first point on the mask where the masks collided, or None if
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1119 there was no collision.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1120 <p>Tests for collision between two sprites, by testing if thier bitmasks
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1121 overlap. If the sprites have a &#8220;mask&#8221; attribute, that is used as the mask,
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1122 otherwise a mask is created from the sprite image. Intended to be passed as
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1123 a collided callback function to the *collide functions. Sprites must have a
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1124 &#8220;rect&#8221; and an optional &#8220;mask&#8221; attribute.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1125 <p>You should consider creating a mask for your sprite at load time if you
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1126 are going to check collisions many times. This will increase the
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1127 performance, otherwise this can be an expensive function because it
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1128 will create the masks each time you check for collisions.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1129 <div class="highlight-python"><div class="highlight"><pre><span class="n">sprite</span><span class="o">.</span><span class="n">mask</span> <span class="o">=</span> <span class="n">pygame</span><span class="o">.</span><span class="n">mask</span><span class="o">.</span><span class="n">from_surface</span><span class="p">(</span><span class="n">sprite</span><span class="o">.</span><span class="n">image</span><span class="p">)</span>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1130 </pre></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1131 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1132 <p>New in pygame 1.8.0</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1133 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1134
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1135 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1136 <dt class="title" id="pygame.sprite.groupcollide">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1137 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">groupcollide</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.groupcollide" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1138 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1139 <div class="line"><span class="summaryline">find all Sprites that collide between two Groups</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1140 <div class="line"><span class="signature">groupcollide(group1, group2, dokill1, dokill2, collided = None) -&gt; Sprite_dict</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1141 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1142 <p>This will find collisions between all the Sprites in two groups.
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1143 Collision is determined by comparing the <tt class="docutils literal"><span class="pre">Sprite.rect</span></tt> attribute of
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1144 each Sprite or by using the collided function if it is not None.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1145 <p>Every Sprite inside group1 is added to the return dictionary. The value for
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1146 each item is the list of Sprites in group2 that intersect.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1147 <p>If either dokill argument is True, the colliding Sprites will be removed
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1148 from their respective Group.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1149 <p>The collided argument is a callback function used to calculate if two sprites are
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1150 colliding. It should take two sprites as values and return a bool value
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1151 indicating if they are colliding. If collided is not passed, then all
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1152 sprites must have a &#8220;rect&#8221; value, which is a rectangle of the sprite area,
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1153 which will be used to calculate the collision.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1154 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1155
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1156 <dl class="definition function">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1157 <dt class="title" id="pygame.sprite.spritecollideany">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1158 <tt class="descclassname">pygame.sprite.</tt><tt class="descname">spritecollideany</tt><big>(</big><big>)</big><a class="headerlink" href="#pygame.sprite.spritecollideany" title="Permalink to this definition">¶</a></dt>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1159 <dd><div class="line-block">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1160 <div class="line"><span class="summaryline">simple test if a Sprite intersects anything in a Group</span></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1161 <div class="line"><span class="signature">spritecollideany(sprite, group, collided = None) -&gt; Sprite</span> Collision with the returned sprite.</div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1162 <div class="line"><span class="signature">spritecollideany(sprite, group, collided = None) -&gt; None</span> No collision</div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1163 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1164 <p>If the sprite collides with any single sprite in the group, a single
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1165 sprite from the group is returned. On no collision None is returned.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1166 <p>If you don&#8217;t need all the features of the <tt class="docutils literal"><span class="pre">pygame.sprite.spritecollide()</span></tt> function, this
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1167 function will be a bit quicker.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1168 <p>The collided argument is a callback function used to calculate if two sprites are
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1169 colliding. It should take two sprites as values and return a bool value
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1170 indicating if they are colliding. If collided is not passed, then all
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1171 sprites must have a &#8220;rect&#8221; value, which is a rectangle of the sprite area,
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1172 which will be used to calculate the collision.</p>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1173 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1174
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1175 </dd></dl>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1176
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1177 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1178
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1179 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1180 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1181 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1182 <div class="clearer"></div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1183 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1184 <div class="related">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1185 <h3>Navigation</h3>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1186 <ul>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1187 <li class="right" style="margin-right: 10px">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1188 <a href="../genindex.html" title="General Index"
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1189 accesskey="I">index</a></li>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1190 <li class="right" >
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1191 <a href="surface.html" title="pygame.Surface"
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1192 accesskey="N">next</a> |</li>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1193 <li class="right" >
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1194 <a href="sndarray.html" title="pygame.sndarray"
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1195 accesskey="P">previous</a> |</li>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1196 <li><a href="../index.html">Pygame v1.9.2 documentation</a> &raquo;</li>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1197 <script type="text/javascript" src="jquery.plugin.docscomments.js"></script>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1198
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1199 </ul>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1200 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1201 <div class="footer">
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1202 &copy; Copyright 2011, Pygame Developers.
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1203 </div>
5f97207c3692 fix issue 130
jmm0
parents: 3065
diff changeset
1204 </body>
2198
da4302429d3b replace makeref.py generated documents with makeref2.py documents
Lenard Lindstrom <len-l@telus.net>
parents: 2166
diff changeset
1205 </html>