1

では、スプライト グループがあり、それにたくさんのものを追加したとしましょう。

all_shelfs = pygame.sprite.Group()
shelf_tracking_list = []

#making shelfs
build_lvl = HEIGHT - 150
#group A
for i in xrange(100):
    wid = random.randint(120,320)
    pos = [random.randint(0, WIDTH-wid), random.randint(build_lvl-20, build_lvl), wid]
    all_shelfs.add(Shelf(pos[0],pos[1], pos[2]))
    build_lvl = build_lvl - 60

#group B
for i in xrange(100):
    wid = random.randint(120,320)
    pos = [random.randint(0, WIDTH-wid), random.randint(build_lvl-20, build_lvl), wid]
    all_shelfs.add(Shelf(pos[0],pos[1], pos[2]))
    build_lvl = build_lvl - 60
#group C
for i in xrange(100):
    wid = random.randint(120,320)
    pos = [random.randint(0, WIDTH-wid), random.randint(build_lvl-20, build_lvl), wid]
    all_shelfs.add(Shelf(pos[0],pos[1], pos[2]))
    build_lvl = build_lvl - 60

shelf_tracking_list = all_shelfs.sprites()

たとえば、グループ A を削除するにはどうすればよいですか? 最初に追加したグループです。このshelf_tracking_listを使用してグループを実際に変更できないことに気付きました

4

2 に答える 2

1

各グループのスプライトを追跡している場合は、次のドキュメントで指定されているように、関数を使用してsprite.Group.remove(*sprites)グループ全体を削除できます: http://www.pygame.org/docs/ref/sprite.html#pygame. sprite.Group.remove

# group A
group_a = list()
for i in xrange(100):
    wid = random.randint(120,320)
    pos = [random.randint(0, WIDTH-wid), random.randint(build_lvl-20, build_lvl), wid]
    new_shelf = Shelf(pos[0], pos[1], pos[2])
    group_a.append(new_shelf)
    build_lvl = build_lvl - 60
all_shelfs.add(group_a)

次に、からグループ全体を削除する場合all_shelfs

all_shelfs.remove(group_a)
于 2013-04-18T13:49:16.497 に答える