为什么按下键后我的图像不会改变?

问题描述 投票:0回答:1

**所以这里要做的是让我的角色在按a时改变图像,但是当我出现错误时呢?链接到完整代码位于**

https://pastebin.com/NDqjMvJK

  def draw(self, win):
        if self.walkCount + 1 >= 10:
            self.walkCount = 0
        keys = pygame.key.get_pressed()
        if keys[pygame.K_a]:
            ki_stance = pygame.image.load("image/goku-ki.png")
            win.blit("image/goku-ki.png", (self.x, self.y))
        if not (self.standing):
            if self.left:
                win.blit(walkLeft[self.walkCount // 3], (self.x, self.y))
                self.walkCount += 1
            elif self.right:
                win.blit(walkRight[self.walkCount // 3], (self.x, self.y))
                self.walkCount += 1
        else:
            if self.right:
                win.blit(walkRight[0], (self.x, self.y))
            else:
                win.blit(walkLeft[0], (self.x, self.y))
        self.hitbox = (self.x + 17, self.y + 11, 29, 52)

这是当我按下一个请您帮助时出现的错误

"C:\Users\Rafael Perez\AppData\Local\Temp\pygame1.py\venv\Python37\Scripts\python.exe" "C:/Users/Rafael Perez/PycharmProjects/game_two/game_compeleted.py"
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "C:/Users/Rafael Perez/PycharmProjects/game_two/game_compeleted.py", line 365, in <module>
    redrawGameWindow()
  File "C:/Users/Rafael Perez/PycharmProjects/game_two/game_compeleted.py", line 245, in redrawGameWindow
    man.draw(win)
  File "C:/Users/Rafael Perez/PycharmProjects/game_two/game_compeleted.py", line 46, in draw
    win.blit("image/goku-ki.png", (self.x, self.y))
TypeError: argument 1 must be pygame.Surface, not str
python pygame pycharm
1个回答
0
投票

您是在钝化图像路径,而不是图像,将win.blit("image/goku-ki.png", (self.x, self.y))更改为win.blit(ki_stance, (self.x, self.y))

© www.soinside.com 2019 - 2024. All rights reserved.