擅长:python、mysql、java
<p>这称为<a href="http://en.wikipedia.org/wiki/Template_method_pattern" rel="nofollow">Template Method Pattern</a>,您的代码很好。在</p>
<p>但是,您可能希望为每个事件调用一个可重写的方法,而不是重写整个<code>handleInputs</code>(或者每次都必须重新实现循环)。在</p>
<pre><code>class Game(threading.Thread):
def update(self):
pygame.display.update()
self.screen.fill(self.fillcolour)
def setup(self):
"""Placeholder for setup"""
pass
def frame(self):
"""Placeholder for frame"""
pass
def handleEvent(self, event):
"""Placeholder for input handling"""
pass
def handleInputs(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.quit()
self.handleEvent(event)
def run(self):
self.setup()
while True:
if self.FRAMERATE:
self.clock.tick(self.FRAMERATE)
self.frame()
self.update()
self.handleInputs()
</code></pre>