我目前正在撰写塔防游戏。一切都很好,但有一个视觉问题困扰着我。
基本上,地图上较低dt <- read.table(text = "file_name loc
rep1 'chr1:62161618:62162663:-'
rep2 'chr1:62161618:62162669:-'",
header = TRUE, stringsAsFactors = FALSE)
并且应该在较高的rect.y
较慢的暴徒后面传递的精灵可以在之后进行因此在前景精灵的前面。
我可以修复它,但不能同时保留我喜欢的随机展开的生成点。
有人可以建议任何帮助吗?我省略了不相关的代码,因此没有太多要筛选的内容。
rect.y
然后是创建块 -
class Pokemon(pygame.sprite.Sprite):
def __init__(self, name, health, speed, attack, typeOf, typeOf2, level, order):
pygame.sprite.Sprite.__init__(self)
self.order = order
self.image = pygame.image.load('C:/Users/#/#/#/pygames/tower_defense/Distributable/images/POKEMON/%sright.png'%(name))
self.rect = self.image.get_rect()
# X/Y axis locations
self.rect.centerx = 0-self.rect.width - self.order*100
self.rect.centery = random.randint(500, 540)
答案 0 :(得分:2)
如果需要控制精灵的图层,可以使用LayeredUpdates
精灵组。精灵需要self._layer
属性,或者您可以在精灵add
时将图层传递给组,例如:
layered_group.add(sprite, layer=desired_layer)
移动精灵时,可以调用精灵组的change_layer
方法:
layered_group.change_layer(sprite, sprite.rect.bottom)
但是,如果你必须每帧更新所有精灵的图层,那么按照rect.bottom
位置对精灵进行排序会更有效,迭代列表并将它们搞定:
blit = screen.blit # Local variable to improve the performance.
for sprite in sorted(all_sprites, key=lambda spr: spr.rect.bottom):
blit(sprite.image, sprite.rect)