我正在写一个塔防游戏。一切正常,但有一个视觉问题困扰着我。你知道吗
基本上,一个具有较低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)
然后创建块-
for e in range(numberOfEnemies):
poke = random.randint(1, 2)
if poke == 1:
level = random.randint(2, 5)
Pidgey = Pokemon('Pidgey', 15, 2, 5, 'Normal', 'Flying', level, e)
enemies.append(Pidgey)
enemy_sprites.add(Pidgey)
else:
level = random.randint(2, 4)
Rattata = Pokemon('Rattata', 13, 3, 5, 'Normal', None, level, e)
enemies.append(Rattata)
enemy_sprites.add(Rattata)
enemyNumber += 1
如果需要控制精灵的层,可以使用^{} 精灵组。精灵需要
self._layer
属性,或者您可以在add
将精灵传递给组时传递层,例如:移动精灵时,可以调用精灵组的
change_layer
方法:但是,如果必须在每一帧更新所有精灵的层,则按精灵的
rect.bottom
位置对其进行排序、遍历列表并对其进行blit将更有效:相关问题 更多 >
编程相关推荐