2015-07-10 2 views
-2

Я работаю над объектно-ориентированным программированием в python. Я написал этот код, но я не знаю, что написать в GameLoop() для его выполнения! это принять 1 аргумент и его selfКак включить аргумент self?

`

import pygame 
class game: 
    pygame_ = pygame.init()` 


    def __init__(self): 
     self.Color = {} 
     with open("ColorData.gmd") as f: 
      data = f.readlines(); 
      for row in data: 
      self.Color[row.split("=")[0]] = row.split("=")[1] 
      for row in self.Color: 
      self.Color[row] = eval(self.Color[row]) 
     self.root_x = 500 
     self.root_y = 500 
     self.root = pygame.display.set_mode((self.root_x,self.root_y)) 
    def GameLoop(self): 
     FPS = 60 
     clock = pygame.time.Clock() 
     gameExit = False 
     while not gameExit: 
      for event in pygame.event.get(): 
       if event.type == pygame.QUIT: 
        gameExit = True 

      self.root.fill(self.Color["RED"]) 
      pygame.display.update() 
      clock.tick(FPS) 
     if gameExit: 
      pygame.quit() 
      exit() 

    GameLoop() 
` 
+0

Я думаю, что это довольно ясно, что оп просит; о том, как/почему параметр 'self' автоматически добавляется для ссылок ограниченных методов. – fortran

ответ

1

Вам необходимо сделать это за пределами определения класса:

G = game()

Чтобы создать экземпляр игры, Г.

И тогда это вызов метода, gameloop, из этого экземпляра.

G.GameLoop()

1

Это метод вам класс, так что вы должны были бы назвать его с экземпляром класса:

game().GameLoop() 

Вы можете читать a tutorial

Смежные вопросы