Пятница, 22 Ноября 2024, 23:33

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Python 3.5 Окно pygame зависает сразу после включения
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
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг