我的代码有问题,因为当我尝试调用类变量(在我的情况下是UPIC1),并将其定义为其他内容时,会返回一个错误,指出'NameError:name'UPIC1'是没有定义的 '。 我的代码基本上是定义类,在调用时,加载UPIC图像,裁剪它们并将它们显示在屏幕上。如果格式不正确,我很抱歉,因为这是我第一次发布到堆栈溢出
这是代码
import pygame
import sys
black = (0,0,0)
yellow = (255,242,0)
light_yellow = (255,251,270)
red = (237,28,36)
light_red =(243,91,99)
backgroundblue = (130,255,252)
white = (255, 64, 64)
#defines scale of pictures in px
PICScale = 300
defines resolution
w = 1280
h = 720
pygame.init()
class Question:
def __init__(self,userinput, UPIC1, UPIC2, UPIC3):
self.userinput=userinput
self.UPIC1=UPIC1
self.UPIC2=UPIC2
self.UPIC3=UPIC3
q1 = Question('alpha', pygame.image.load('img1a.png'), pygame.image.load('img1b.png'), 'n/a')
q2 = Question('beta', pygame.image.load('img2a.png'), pygame.image.load('img2b.png'), 'n/a')
q3 = Question('gamma', pygame.image.load('img3a.png'), pygame.image.load('img3b.png'), 'n/a')
q4 = Question('brownian', pygame.image.load('img4a.png'), pygame.image.load('img4b.png'), 'n/a')
q5 = Question('electromagnet', pygame.image.load('img5a.png'), pygame.image.load('img5b.png'), 'n/a')
q6 = Question('quark', pygame.image.load('img6a.png'), pygame.image.load('img6b.png'), 'n/a')
q7 = Question('inertia', pygame.image.load('img7a.png'), pygame.image.load('img7b.png'), pygame.image.load('img7c.png'))
q8 = Question('ion', pygame.image.load('img8a.png'), pygame.image.load('img8b.png'), 'n/a')
q9 = Question('matter', pygame.image.load('img9a.png'), pygame.image.load('img9b.png'), 'n/a')
q10 = Question('nuclear', pygame.image.load('img10a.png'), pygame.image.load('img10b.png'), 'n/a')
q11= Question('displacement', pygame.image.load('img11a.png'), pygame.image.load('img11b.png'), 'n/a')
q12 = Question('pendulum', pygame.image.load('img12a.png'), pygame.image.load('img12b.png'),pygame.image.load('img12c.png'))
q13 = Question('resistance', pygame.image.load('img13a.png'), pygame.image.load('img13b.png'),'n/a')
q14 = Question('momentum', pygame.image.load('img14a.png'), pygame.image.load('img14b.png'),pygame.image.load('img14c.png'))
q15 = Question('ampere', pygame.image.load('img15a.png'), pygame.image.load('img15b.png'), 'n/a')
q1.UPIC1 = UPIC1
PIC1 = pygame.transform.scale(UPIC1, (PICScale,PICScale))
screen = pygame.display.set_mode((w, h))
screen.fill((backgroundblue))
running = 1
while running:
screen.fill((backgroundblue))
screen.blit(PIC1,(w/2-(3/2*PICScale),0))
pygame.display.flip()`enter code here`
答案 0 :(得分:0)
您的代码中的任何地方都没有全局变量,因此您尝试为该类提供尚不存在的值。你的代码应添加一行
UPIC1 = "Value"
行前
q1.UPIC1 = UPIC1