回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>嗨,我正在做一个新游戏,我想测试它来解决任何问题,使它工作。但是pythonshell一直给我这个消息。你知道吗</p>
<p>你知道吗屏幕.blit(实验室图像,实验室矩形)
AttributeError:类型对象“LabClass”没有属性“image”</p>
<p>我想尽一切办法来解决这个问题,但我做不到。有人能帮我吗?
我知道可能有其他问题,我将不得不解决,但我需要帮助这个问题。你知道吗</p>
<pre><code>import pygame
import time
key1_images = ["clear.png", "key1.png"]
guy_images = ["lab.png", "shock.png"]
class LabClass(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("lab.png")
self.rect = self.image.get_rect()
class key1Class(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("clear.png")
self.rect = self.image.get_rect()
self.rect.center = [310,250]
def levelUp():
levelUp = False
if levelUp == True:
level = level + 1
levelUp = False
def zap():
guy.image = pygame.image.load("shock.png")
animate()
time.sleep(2)
T_text = font.render("Oh no, you were", 1, (255, 0, 0))
screen.blit(T_text,[220,320])
pygame.display.flip()
def key1Kill():
key1.image = pygame.image.load("clear.png")
animate()
time.sleep(0.1)
zap()
def key1Play():
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
score = True
score()
choose = True
choose()
key1.image = pygame.image.load("clear.png")
animate()
else:
key1Kill()
if level <5:
clock.tick(10)
key1die = True
if key1die == True and score == False:
key1Kill()
else:
key1die = False
if level >5 and not 10:
clock.tick(5)
key1die = True
if key1die == True and score == False and choose == False:
key1Kill()
else:
key1die = False
if level >9:
clock.tick(3)
key1die = True
if key1die == True and score == False:
key1Kill()
else:
key1die = False
def choose():
choose = True
if choose == True:
clock.tick(2)
key = random.randint(1,3)
if key == 1:
key1.image = pygame.image.load("key1.png")
animate()
key1Play()
choose = False
def score():
score = False
if score == True:
pointstest = pointstest + 1
score = False
if pointstest == 10:
levelUp = True
levelUp()
def getLife():
if level >18 and levelUp == True:
num = random.randint(1,20)
if num ==(10, 15, 1, 3, 11):
lives = lives + 1
def getCoin():
if levelUp == True:
num2 = random.randint(1,15)
if num2 ==(1, 5, 15, 3, 7):
coins = coins + 1
def animate():
screen.blit(Lab.image,Lab.rect)
screen.blit(key1.image,key1.rect)
pygame.display.flip()
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode([640,640])
coins = 0
lives = 0
level = 1
pointstest = 0
Lab = LabClass
key1 = key1Class
while True:
animate()
choose()
getLife()
getcoin()
levelUp()
score()
</code></pre>