<p>如果要向类添加属性,请使用<a href="https://docs.python.org/3/tutorial/classes.html#inheritance" rel="nofollow noreferrer">Inheritance</a>。创建具有子类<code>pygame.Rect</code>的类<code>MyRect</code>:</p>
<pre class="lang-py prettyprint-override"><code>class MyRect(pygame.Rect):
def __init__(self, x, y, w, h, isFull = True):
super().__init__(x, y, w, h)
self.isFull = isFull
</code></pre>
<P>但是,您也应该考虑创建一个用于聚集^ {< CD2>}:</p>的块的类。
<pre class="lang-py prettyprint-override"><code>class MyTile:
def __init__(self, x, y, w, h, isFull = True):
self.rect = pygame.Rect(x, y, w, h)
self.isFull = isFull
</code></pre>
<p>这将允许您使<code>MyTile</code>成为<a href="https://www.pygame.org/docs/ref/sprite.html#pygame.sprite.Sprite" rel="nofollow noreferrer">^{<cd5>}</a>的子类:</p>
<pre class="lang-py prettyprint-override"><code>class MyTile(pygame.sprite.Sprite):
def __init__(self, x, y, w, h, isFull = True):
super().__init__()
self.rect = pygame.Rect(x, y, w, h)
self.isFull = isFull
self.image = pygame.Surface(self.rect.size)
self.image.fill((255, 0, 0)) # just for example
</code></pre>