精灵不显示游戏和元组没有属性

2024-10-01 13:26:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为这个问题工作了一个星期了。通过这里和其他来源。。。还是解决不了。显示曲面,但精灵不显示。在

代码是:

import sys
from pygame.locals import *
import pygame

class teemoShows(pygame.sprite.Sprite):
    def __init__(self, position):
        pygame.sprite.Sprite.__init__(self)
        teemoFile = "teemoX.png"
        self.image = pygame.image.load(teemoFile).convert()
        self.rect = self.image.get_rect()
        self.rect.x = position[0]
        self.rect.y = position[1]

    def update(self):
        #update sprites .. is this correct?
        #self.rect = self.rect.move([0, yposition - self.rect.y])
        pygame.update(self)

pygame.init()
screen = pygame.display.set_mode((500, 400))
character = teemoShows([screen.get_rect().x, screen.get_rect().y])

# create sprite group and add character
teemoFile = pygame.sprite.Group()
teemoFile.add(character)

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
           sys.exit()
           # main loop
    pygame.display.flip()
    screen.fill((0,0,0))

    teemoFile.draw(screen)
    teemoFile.update()

它给我的错误是:

^{pr2}$

Tags: rectimageimportselfeventgetinitsys
1条回答
网友
1楼 · 发布于 2024-10-01 13:26:22

character = screen.get_rect().x, screen.get_rect().y将变量{}分配给一个元组,而实际上你正试图使它成为teemoShows类的一个实例,这就是为什么会出现错误,因为元组没有更新方法

正确的方法是:

character = teemoShows([screen.get_rect().x, screen.get_rect().y])

#In your main-loop 
character.update()
character.draw(screen)

通过这种方式,您将生成一个teemoShows实例,并将元组作为position的参数提供

相关问题 更多 >