Pygame-随机生成精灵的问题

时间:2018-10-19 02:59:29

标签: python-3.x random pygame sprite

我需要随机生成精灵的帮助。

这个想法是:一个头向下移动到屏幕上。离开屏幕后,新的随机磁头开始在屏幕上向下移动。等等...

我要随机选择4张图像。

我的问题是:移动的“头部”图像只是列表中所有头部的恒定闪烁周期。该功能似乎不断发白

以下是相关代码:

printf()

1 个答案:

答案 0 :(得分:2)

您每打一次电话就叫heads(random.choice(ran_head), head_startx, head_starty),因此每打一次您都会随机产生一张图像。只需在循环之前调用random.choice(ran_head)一次,并且只有当头部移出屏幕时,才这样:

ran_head = [head1, head2, head3, head4]
head_img = random.choice(ran_head) # variable to store the currently choosen image

def heads(img, headx, heady):
  gameDisplay.blit(img, (headx, heady))


def game_loop():
  head_width = 150
  head_height = 192
  head_startx = random.randrange(0, (display_width-150))
  head_starty = -200
  head_speed = 5

  heads(head_img , head_startx, head_starty)

  head_starty += head_speed

  if head_starty > display_height:
      head_starty = -200
      head_startx = random.randrange(0, (display_width-140))
      dodged += 1   #add 1 point
      head_speed += 0.5    #increase speed each time by 0.5
      head_img = random.choice(ran_head) # select a new image randomly