我是pygame的新手,我想知道下面是否可能。假设我有2个Sprite组,称为Sprites和Sprites1,每个Sprite组都有一组不同的不重叠的精灵。是否有可能做Sprites.add(Sprites1)?可以在pygame中的精灵组包含除正常精灵以外的包含精灵的子组?
1
A
回答
0
检查pygame的文档 http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.Group
pygame.sprite.Group.add(*sprite)
- 任意数量的精灵
希望这有助于:) 干杯,亚历克斯
0
亚历克斯的答案是正确的,但它依靠2个你可能没有意识到的微妙技巧,并且是值得的解释:
雪碧群体迭代:,如果你有一个名为
enemies
组,您可以轻松地遍历它包含的所有精灵:for enemy in enemies: enemy.health *= 2
漂亮方便吧?只是不要试图使用切片和索引:一组是而不是的一个列表!为此,使用group.sprites()
,其中返回的列表(但仍然是方法,因此是强制括号)。
Group.add()
的方法需要多个参数,每一个子画面。所以,你可以在一个单一的add
添加多个精灵,如:world.add(boss, ninja, tree, player)
这很酷,但它变得更好:如果你有一个序列精灵或的(列表,元组等)生成精灵的迭代器/生成器,您可以使用*
语法将元素扩展为多个参数。也很方便,不是吗? :)
这两个功能可以组合(它们被设计成),这会导致真棒语法亚历克斯使用:
world.add(*enemies)
好运杀死他们所有:)
相关问题
- 1. PyGame组的精灵
- 2. 删除精灵在Pygame的
- 3. pygame - 如何群组精灵
- 4. 如何将精灵函数应用于精灵组中的所有精灵?
- 5. Pygame - 一组中的精灵数量
- 6. pygame中的Pixilating精灵
- 7. Pygame中的透明精灵
- 8. 当pygame中添加另一个精灵时,我的精灵正在被删除
- 9. 在开罗精灵绘画的精灵
- 10. 将一个精灵移动到pygame中的另一个精灵
- 11. 数组中的精灵
- 12. AS3:分组精灵
- 13. Unity2D组合精灵
- 14. 动画pygame的精灵
- 15. pygame的:使用精灵
- 16. 如何访问精灵数组中的单个精灵?
- 17. Python pygame - 删除屏幕外精灵
- 18. 在一个精灵中组合两个精灵(Libgdx)
- 19. 如何让精灵从精灵表变成另一个精灵?
- 20. 精灵
- 21. RGB565的精灵?
- 22. 在精灵之外的定位点上旋转cocos2d精灵
- 23. 包共享库精灵
- 24. Pygame精灵 - 创建新精灵后不活动
- 25. pygame动画精灵表
- 26. Pygame滞后,因为精灵?
- 27. pygame创建多个精灵
- 28. Pygame精灵未绘制
- 29. PyGame得到精灵集团
- 30. 插入Pygame精灵转换
没有意思似乎无益,每当我看到一个问题开始时“是否有可能......?”我的答复是“你试过了吗?”。如果你已经尝试过了,并且你得到一个错误,那么这就产生了一个更具体的问题。就我个人而言,我认为试验,看看有什么和不工作是学习新东西的好方法。祝好运并玩得开心点。 – elParaguayo
建议:避免将你的群组命名为“Sprites”或“Sprites1”。大写的第一个字母应该保留给* class *名称,而不是它们的*实例*。就像'敌人= pygame.sprites'一样。Group()','boss = pygame.sprites.Sprite()','enemies.add(boss)' – MestreLion