<p>精灵只是游戏中可以与其他精灵或其他东西互动的物体。这些可以包括角色、建筑或其他游戏中的对象。在</p>
<p>精灵有一个子类的原因更多的是为了方便。当一个对象从<code>sprite.Sprite</code>类继承时,可以将它们添加到精灵组中。在</p>
<p>示例:</p>
<pre><code>import pygame
class car(sprite.Sprite):
def __init__(self):
sprite.Sprite.__init__() # necessary to initialize Sprite class
self.image = image # insert image
self.rect = self.image.get_rect() #define rect
self.rect.x = 0 # set up sprite location
self.rect.y = 0 # set up sprite location
def update(self):
pass # put code in here
cars = pygame.sprite.Group()# define a group
pygame.sprite.Group.add(car())# add an instance of car to group
</code></pre>
<p>我不能将精灵添加到精灵组,除非它们继承自精灵类。这很有用,因为我现在可以更新组中的所有精灵,并使用一个函数绘制它们:</p>
^{pr2}$
<p>我也可以使用组进行碰撞检测:</p>
<pre><code># check to see if sprite collides with any sprite in the car group
collided = pygame.sprite.Sprite.spritecollide(sprite, cars, False)
</code></pre>
<blockquote>
<p>note: In the above code <code>pygame.sprite.Sprite.spritecollide</code> returns a list.</p>
</blockquote>
<p>总之,sprite类对于处理大量sprite非常有用,否则将需要更多代码来管理。<code>Sprite</code>类提供了一组通用变量,可用于定义精灵。在</p>