GameBot | Дата: Четверг, 08 Июня 2017, 13:40 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Помогите пожалуйста Делаю игру в питоне с модулем pygame и окно сразу после запуска зависает. Как решить эту проблему?
Скрипт:
from pygame.locals import * import random import os
#добавление массива с переменными game = { "State" : "Loading", "Flag" : True, "Room" : None, "Dibs" : 0, "Money" : 0, "MineLevel" : 1, "MineBody" : None, "MineHair" : None, "MineSilent" : None, "MineActor" : None, "MineLier" : None, "Reputation" : 0, "Meet" : 0, "Save" : [10, 10], "screen" : None, "clock" : None, "tup_xy" : [0,0], "fullscreen" : False, "Bg": None, "scene" : 1, "backgorund" : None } class TgameObject(): def __init__(self, screen): self.screen = screen self.img = [] self.img_n = 0 self.xy = [0,0] #self.font = pygame.font.Font(None, 25) def update(self): self.screen.blit(self.img[self.img_n], self.xy) def load_img(self, fname): path = 'data\img\\' ext = fname.split('.')[-1] if ext == "png": self.img.append(pygame.image.load(path+fname).convert_alpha()) else: self.img.append(pygame.image.load(path+fname).convert())
class TBG(TgameObject): def __init__(self, screen): TgameObject.__init__(self,screen) def update(self): TgameObject.update(self) xy = [0, 0] self.img_n += 1 self.screen.blit(self.img[self.img_n], xy) self.img_n = 0
pygame.init() size = pygame.display.list_modes()[0] size = [800, 480] game["screen"] = pygame.display.set_mode(size) game["clock"] = pygame.time.Clock() # когда будут еще картинки, оставить только 1 лоад вг1 game["screen"] = pygame.display.set_mode(size) game["background"] = TBG(game["screen"]) game["background"].load_img('Bg1.png') game["background"].load_img('Bg1.png') game["background"].load_img('Bg1.png') game["background"].load_img('Bg1.png') game["background"].load_img('Bg1.png') game["background"].load_img('Bg1.png') game["background"].load_img('Bg1.png')
def gui(screen): global game
def render(screen): global game game['screen'].fill([0,0,0]) game['background'].update() gui(game['screen']) pygame.display.update() pygame.display.flip()
def player(): global game pass
# Обработка событий def events(): global game pass
def comp(): global game pass
def main(): global game print("Hello world") while game["Flag"] == True: events() render(game['screen']) pygame.quit() if __name__ == "__main__": main()
ссылка на картинку http://s1.uploadpics.ru/images/bkIBB5gnUM.png
Заранее спасибо ^_^ Печенек вамДобавлено (08 июня 2017, 13:40) --------------------------------------------- Все, я нашел проблему Надо в функции events поставить какой нибудь код К примеру этот for e in pygame.event.get(): if e.type == KEYDOWN: if e.key == K_ESCAPE: game["Flag"] = False print("QUIT")
Сообщение отредактировал GameBot - Четверг, 08 Июня 2017, 12:44 |
|
| |