gpt4 book ai didi

python - 如何创建多个相似的 Sprite ?

转载 作者:行者123 更新时间:2023-11-28 17:44:12 25 4
gpt4 key购买 nike

让我向您展示可能有助于使这个问题更有意义的代码。

import pygame, classes, random
pygame.init()

screen = pygame.display.set_mode((640, 480))

def game():
pygame.display.set_caption("GOLOGO")

laser = classes.Laser(screen)
player = classes.Player(laser, screen)
bad = classes.BadGuy(screen, 320, 0)
bad1 = classes.BadGuy(screen, 260, 0)
bad2 = classes.BadGuy(screen, 200, 0)
bad3 = classes.BadGuy(screen, 140, 0)
bad4 = classes.BadGuy(screen, 80, 0)
bad5 = classes.BadGuy(screen, 20, 0)
bad6 = classes.BadGuy(screen, 380, 0)
bad7 = classes.BadGuy(screen, 440, 0)
bad8 = classes.BadGuy(screen, 440, 60)
bad9 = classes.BadGuy(screen, 320, 60)
bad10 = classes.BadGuy(screen, 260, 60)
bad11 = classes.BadGuy(screen, 200, 60)
bad12 = classes.BadGuy(screen, 140, 60)
bad13 = classes.BadGuy(screen, 80, 60)
bad14 = classes.BadGuy(screen, 20, 60)
bad15 = classes.BadGuy(screen, 380, 60)
space = classes.Space(screen)
scoreboard = classes.Scoreboard()

allSprites = pygame.sprite.OrderedUpdates(space, laser, player)
badSprites = pygame.sprite.Group(bad, bad1, bad2, bad3, bad4, \
bad5, bad6, bad7, bad8, bad9, bad10, bad11, bad12, \
bad13, bad14, bad15)
scoreSprite = pygame.sprite.Group(scoreboard)

如您所见,有很多 BadGuy Sprite 。它们只是在不同的位置。我不介意继续使用这种方法,但我希望有一种更简单的方法可以做到这一点。我可能会在增加屏幕尺寸的同时添加更多。我正在使用 python 3 和 pygame

最佳答案

您可以将值存储在列表中:

coordinates = [(320, 0), (260, 0), (200, 0), ...]

并在创建时循环遍历它们。您可以将实例放入字典中:

badGuys = {}
for i, v in enumerate(coordinates):
badGuys["bad%d"%i] = classes.BadGuy(screen, *v)

希望这对您有所帮助!

关于python - 如何创建多个相似的 Sprite ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com