【问题标题】:Pygame - Space Invaders AliensPygame - 太空侵略者外星人
【发布时间】:2012-07-25 23:33:02
【问题描述】:

目前我有一排外星人,现在我正试图让子弹从一个随机的外星人身上射出,一旦当前的子弹离开屏幕。

到目前为止,我有这个用于子弹:http://pastebin.com/fR0gzkh6

它在起点向外星人发射子弹并继续从该 x 坐标射击,但我怎样才能让它采用各种不同外星人的当前 x 坐标并从他们当前的 x 坐标射击。

这是外星人班:http://pastebin.com/kRpthdh4 这就是我为外星人创建一组精灵的方式:

for i in range(5):
    self.alien_sprites.add(Alien((i*100)+10, 0))

【问题讨论】:

    标签: python pygame


    【解决方案1】:

    跟踪外星人实例:

    self.aliens = []
    for i in range(5):
        alien = Alien((i*100)+10, 0)
        self.alien_sprites.add(alien)
        self.aliens.append(alien)
    

    现在随机选择一个来做某事:

    import random
    random_alien = random.choice(self.aliens)
    # Now do what you like
    

    【讨论】:

    • 现在有了这个,我如何检索随机选择的外星人的 x 坐标和 y 坐标?
    • 您应该将它存储在 Alien 类中。如果你把你的完整代码放在这里而不是放在一个粘贴箱上,那会很有帮助。
    • 我注意到您实际上并没有使用您的 bullet_list(或任何项目符号列表),因此您只能正确渲染每种类型的一个项目符号。您可以使用 for 循环更新列表中的所有项目符号:在以for bullet in bullet_list: 为标题的循环中,bullet 将连续获取列表中每个项目符号的值,因此您可以将它们全部更新(或对他们做任何你想做的事)。
    • Python 有一个非常丰富的随机数库,包括选择序列中随机成员的choice 方法:random_alien = random.choice( self.aliens )
    • 有谁知道我使用阿里的代码后如何得到一个随机外星人的当前x坐标和y坐标?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多