为什么我的 python 程序不启动 pygame?

我正在用 pygame 制作游戏并练习 OOP。我读过一个 pygame 教程,因为我的游戏有点不同,所以我只采用了我需要的部分,例如移动、pygame.init() 等。当我运行脚本时,没有任何错误只是pygame 欢迎信息。我已经检查过我是否真的添加了代码行来启动程序并且我确实添加了。我还检查了我是否制作了屏幕,我也这样做了。


  1 import pygame

  2 from pygame.locals import *

  3 

  4 class character:

  5     def __init__(self, Name, Picture, Attack1, WaitAttack1, Attack2, WaitAttack2, Heal1, WaitHeal1, SuperAttack1, WaitSuperAttack1):

  6         self.Name = Name

  7         self.Player = pygame.image.load(Picture)

  8         self.Coins = 0

  9         self.Backpack = "Empty"

 10         self.WorldMap = "Comming soon"

 11         self.Health = 250

 12         self.Attack1 = Attack1

 13         self.WaitAttack1 = WaitAttack1

 14         self.Attack2 = Attack2

 15         self.WaitAttack2 = WaitAttack2

 16         self.Heal1 = Heal1

 17         self.WaitHeal1 = WaitHeal1

 18         self.SuperAttack1 = SuperAttack1

 19         self.WaitSuperAttack1 = WaitSuperAttack1

 20         self.Keys = [False, False, False, False]

 21         self.playerpos = [100,100]

 22 

 23     def directions(self):

 24 

 25         if self.Keys[0]:

 26             self.playerpos[1] -= 5

 27         elif self.Keys[2]:

 28             self.playerpos[1] += 5

 29         if self.Keys[1]:

 30             self.playerpos[0] -= 5

 31         elif self.Keys[3]:

 32             self.playerpos[0] += 5

 33 

 34 

 35 

 36 class Slade(character):

 37     def __init__(self): 38         character.__init__(self, "Slade", "Slade.png", 40, 20, 50, 25, 10, 5, 30, 25)

PS:我是 OOP 的新手。所以请尽量忽略我的代码很糟糕的事实。


潇湘沐
浏览 87回答 2
2回答

海绵宝宝撒

首先,您必须将类分配给一个变量。然后调用一个函数,因为在分配类之后,唯一会运行的就是函数__init__()。例如if __name__ == '__main__':     obj = Slade()     obj.movement()您的代码中还有一些其他问题,例如def __init__(self): 37     def __init__(self):将一个类分配给一个变量然后调用一个函数将运行所需的函数。另请注意,您只能使用该类__init__()一次。

幕布斯6054654

我实际上对此也不太了解,但看起来只有 init 函数在运行,而不是 movement 函数,它具有pygame.init().
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python