我正在用Pygame制作一个太空入侵者游戏。在
我创造了外星敌人,并把他们加入一个叫做“外星人”的小组。在
我有多行入侵者,使用以下代码创建:
yPos = self.top_boundary
for r in range(self.total_rows):
xPos = self.left_boundary
for i in range(self.invaders_per_row):
self.alien = Invader(xPos, yPos)
self.aliens.add(self.alien)
xPos += 32
yPos += 40
现在,为了在屏幕上反转入侵者的方向,我需要确定哪个入侵者是“最左边”的入侵者,并检查它是否已经到达屏幕的左侧。在
我的问题是,它们不是按特定顺序存储在组中的。我如何确定哪个入侵者的位置最左边?在
我可以使用的另一种方法是使用列表来存储对象。然后我可以很容易地遍历列表来确定哪个入侵者是最左边的。这会是更好的选择吗?在
您可以使用^{} 类,该类维护精灵添加到组中进行渲染的顺序。在
假设您有一个
Invader
对象的集合,这些对象的x位置有一个属性,那么您可以使用min
来查找x位置最小的对象。最小示例:收集所有入侵者对我来说像这样的游戏是很自然的。在
相关问题 更多 >
编程相关推荐