当前位置:   article > 正文

pygam.sprite模块_sprite.group.update调用同名

sprite.group.update调用同名

pygame.sprite.Sprite - 可视化游戏对象的简单基类

  • Sprite(*groups) -> Sprite

实例:https://github.com/search?q=pygame.sprite.Sprite&type=Code

  • 派生类将重写 Sprite.update() 方法并指定 Sprite.image 和 Sprite.rect 属性。初始化程序可以接受要添加的任意数量的Group实例(多值参数)。
  • 在对Sprite进行子类化时,请务必在将Sprite添加到Groups之前调用初始化程序。例如:
class Block(pygame.sprite.Sprite):

    # 构造函数。传递块的颜色,宽和高
    # and its x and y position
    def __init__(self, color, width, height):
       # 调用父类(Sprite)构造函数
       pygame.sprite.Sprite.__init__(self)

       # 创建块的图像,并用颜色填充。
       # 这也可以是从磁盘加载的图像。
       self.image = pygame.Surface([width, height])
       self.image.fill(color)

       # 获取具有图像尺寸的矩形对象
       # 通过设置rect.x和rect.y的值来更新此对象的位置
       self.rect = self.image.get_rect()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

pygame.sprite.Sprite.update - 控制Sprite行为的方法

  • update(*args) -> None
  • 此方法的默认实现不执行任何操作;它只是一个方便的“挂钩”,你可以重写。 Group.update() 使用你提供的任何参数调用此方法。
  • 如果不在Group类中使用同名的方法,则无需使用此方法。

实例:https://github.com/search?q=pygame.sprite.Sprite.update&type=Code

pygame.sprite.Sprite.add - 将Sprite添加到组

  • add(*groups) -> None
  • 可以将任意数量的Group实例作为参数传递。Sprite将被添加到它还不是其成员的组中。

实例:https://github.com/search?q=pygame.sprite.Sprite.add&type=Code

pygame.sprite.Sprite.remove - 从组中删除Sprite

  • remove(*groups) -> None
  • 可以将任意数量的Group实例作为参数传递。 Sprite将从其当前所属的组中删除。

实例:https://github.com/search?q=pygame.sprite.Sprite.remove&type=Code

pygame.sprite.Sprite.kill - 从所有组中删除Sprite

  • kill() -> None
  • Sprite对象将从包含它的所有组中被删除。这不会改变关于Sprite状态的任何信息。调用此方法后,可以继续使用Sprite,包括将其添加到Groups。

实例:https://github.com/search?q=pygame.sprite.Sprite.kill&type=Code

pygame.sprite.Sprite.alive - 是否有组包含Sprite

  • alive() -> bool
  • 当Sprite属于一个或多个组时返回True。

实例:https://github.com/search?q=pygame.sprite.Sprite.alive&type=Code

pygame.sprite.Sprite.groups - 包含此Sprite的组的列表

  • groups() -> group_list
  • 返回由 包含此Sprite的所有组 组成的列表。

实例:https://github.com/search?q=pygame.sprite.Sprite.groups&type=Code

pygame.sprite.groupcollide() - 找到在两组之间发生碰撞的所有精灵

  • groupcollide(group1, group2, dokill1, dokill2, collided = None) -> Sprite_dict
  • 这将在两组中找到所有精灵之间的碰撞。通过比较每个Sprite对象的Sprite.rect属性或使用碰撞函数(如果它不是None)来确定碰撞。
  • 如果dokill1参数为True,则将从group1组中删除碰撞的Sprite对象dokill2相同
  • collided 是一个回调函数,用于计算两个精灵是否发生碰撞。它应该将两个精灵作为参数,并返回一个 bool 值,指示它们是否发生碰撞。如果 collided 没有指定,则所有精灵必须具有“rect”值,该值是精灵区域的矩形,将用于默认方法计算碰撞

实例:https://github.com/search?q=pygame.sprite.groupcollide&type=Code

pygame.sprite.spritecollide() - 查找组中于其他精灵碰撞的敌机

  • spritecollide(sprite, group, dokill, collided = None) -> Sprite_list
  • 返回列表包含所有发生碰撞的精灵。通过比较每个Sprite的Sprite.rect属性来确定是否碰撞。
  • dokill是bool值。如果设置为True,指定组中所有发生碰撞的精灵会被删除
  • collided 是一个回调函数,用于计算两个精灵是否发生碰撞。它应该将两个精灵作为参数,并返回一个 bool 值,指示它们是否发生碰撞。如果 collided 没有指定,则所有精灵必须具有“rect”值,该值是精灵区域的矩形,将用于默认方法计算碰撞

实例:https://github.com/search?q=pygame.sprite.spritecollide&type=Code

转自:https://www.pygame.org/docs/ref/sprite.html#pygame.sprite

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/340250
推荐阅读
相关标签
  

闽ICP备14008679号