0

I was just writing code and then this happened:

Unresolved reference 'display_number'

I don't know why this happened. Here is my code:

import pygame

pygame.init()

screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

bombs_list = ["bombs/bomb-1.png", "bombs/bomb-2.png"]

bomb_1 = pygame.image.load("bombs/bomb-1.png")
bomb_2 = pygame.image.load("bombs/bomb-2.png")
clock = pygame.time.Clock()

current_time = pygame.time.get_ticks()
# switch_bg_time = pygame.time.get_ticks() + 2000
display_number = 0


def display(number):
    screen.blit(bombs_list[number], (0, 0))


def loading():
    display(display_number)
    switch_bg_time = pygame.time.get_ticks() + 3000
    if current_time > switch_bg_time:
    display_number += 1

I was trying to make a picture appear and disappear. I also kind of need help on that.

Rabbid76
  • 177,135
  • 25
  • 101
  • 146
Coding_Guy
  • 21
  • 3

1 Answers1

0

you need to add global display_number to the loading() function since the scope of the function didnt reach the variable.

import pygame

pygame.init()

screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)

bombs_list = ["bombs/bomb-1.png", "bombs/bomb-2.png"]

bomb_1 = pygame.image.load("bombs/bomb-1.png")
bomb_2 = pygame.image.load("bombs/bomb-2.png")
clock = pygame.time.Clock()

current_time = pygame.time.get_ticks()
# switch_bg_time = pygame.time.get_ticks() + 2000
display_number = 0


def display(number):
    screen.blit(bombs_list[number], (0, 0))


def loading():
    global display_number
    display(display_number)
    switch_bg_time = pygame.time.get_ticks() + 3000
    if current_time > switch_bg_time:
    display_number += 1
Punzicul
  • 37
  • 1
  • 5