0
我是pygame的新手,正在制作一款僵尸游戏。我用箭头键控制着人类,当僵尸首次创建时,我想让僵尸跑向玩家的位置。我不确定如何确定玩家将僵尸设置在正确方向的位置。僵尸不必追随人类,只是在僵尸创建时朝着玩家位置的方向前进。我如何确定精灵在pygame中的位置?
class Human(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image=pygame.image.load("human.jpg")
self.image=self.image.convert()
self.rect=self.image.get_rect()
self.x=100
self.y=430
self.dx=50
self.dy=0
def update(self):
keys=pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
self.x-=self.dx
if keys[pygame.K_RIGHT]:
self.x+=self.dx
self.rect.center=(self.x,self.y)
class ZombieChase(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image=pygame.image.load("zombie.jpg")
self.image=self.image.convert()
self.rect=self.image.get_rect()
self.reset()
self.dx=15
self.dy=15
#self.xStart=random.randrange(0,screen.get_width())
def update(self):
self.rect.centery+=self.dy
self.rect.centerx+=self.dx
if self.rect.top>screen.get_height():
self.reset()
if self.rect.right>screen.get_width():
self.reset()
if self.rect.left<0:
self.reset()
def reset(self):
self.rect.top=0
speed=random.randrange(20,36)
xStart=random.randrange(0,screen.get_width())
yStart=0
#humanx, humany !!!!!!this is where i don't know what to put!!!!!
try:
self.dx=(humanx-xStart)/speed
except ZeroDivisionError:
self.dx=0
try:
self.dy=(humany-yStart)/speed
except ZeroDivisionError:
self.dy=1
self.rect.centerx=xStart
对不起,如果选项卡不正确。
一个精灵有一个矩形属性,它是在屏幕上的位置。 –
请给我你的代码。 – PygameNerd