Итак, я смотрел, как запускать скрипты python на окнах, но я не могу запускать сценарии pygame, используя Windows XP 64 бит на виртуальной машине. Я попробовал просто запустить его с различными версиями python, pyinstaller, py2exe и cx_freeze.Невозможно запустить скрипт pygame на окнах
Моя основная проблема заключается в том, что я не уверен, в чем проблема. Например: когда я запускаю скрипт как обычно (используя python и ничего больше), скрипт открывает окно cmd, но мгновенно закрывает его снова, но когда я пытаюсь сначала преобразовать его в файл .exe, я получаю сообщение об ошибке, указывающее, что файл действителен , но для другого типа машины (довольно уверен, что это связано с 32-битным и 64-битным питоном, но я не уверен, как это исправить), и когда я запускаю его из cmd, я получаю сообщение об ошибке, говоря, что нет модуля с именем pygame. Я также заметил, что при простой передаче исходного файла game.py часть кода, похоже, перепуталась и становится все одной прямой (я забыл, что такое имя для причины этой ошибки).
Вот весь код игры я пытаюсь запустить:
import sys, pygame, pygame.mixer, time
from pygame.locals import *
pygame.init()
pygame.mouse.set_visible(0)
w = 1
while w == 1:
for event in pygame.event.get():
if event.type == KEYDOWN and event.key == K_ESCAPE:
sys.exit()
elif event.type == pygame.QUIT:
sys.exit()
shotgunsound = pygame.mixer.Sound("shotgun.wav")
size = width, height = 600,400
screen = pygame.display.set_mode(size)
bird = pygame.image.load("bird.png")
shotgun = pygame.image.load("fps_sprite_shotgun.png")
post = pygame.image.load("post.png")
ground = pygame.image.load("ground.png")
text2 = pygame.image.load("text2.png")
pygame.display.flip()
skyblue = 0,125,200
x = 0
y = 100
screen.blit(bird,(x,y))
z = 1
while z == 1:
mx,my = pygame.mouse.get_pos()
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == KEYDOWN and event.key == K_ESCAPE:
sys.exit()
elif event.type == MOUSEBUTTONDOWN and mx > 400 and mx < 560 and my >100 and my <300:
shotgunsound.play()
z = 0
elif event.type == MOUSEBUTTONDOWN:
shotgunsound.play()
screen.fill(skyblue)
screen.blit(bird,(x,y))
screen.blit(shotgun,(mx-300,my-200))
screen.blit(post,(400,100))
screen.blit(ground,(0,0))
pygame.display.flip()
x = x+1
time.sleep(.01)
if x == 400:
screen.blit(text2,(0,0))
pygame.display.flip()
time.sleep(3)
sys.exit()
text1 = pygame.image.load("text1.png")
screen.blit(text1, (0,0))
pygame.display.flip()
n = 1
while n == 1:
for event in pygame.event.get():
if event.type == KEYDOWN and event.key == K_ESCAPE:
sys.exit()
elif event.type == pygame.QUIT:
sys.exit()
if event.type == MOUSEBUTTONDOWN:
n = 0
x = 0
rpg = pygame.image.load("fps_sprite_rpg.png")
w = 0
mx,my = pygame.mouse.get_pos()
t = 1
mx,my = pygame.mouse.get_pos()
green = 0,100,0
building = pygame.image.load("building.png")
rpgsound = pygame.mixer.Sound("rpg.wav")
while t ==1:
mx,my = pygame.mouse.get_pos()
for event in pygame.event.get():
if event.type == KEYDOWN and event.key == K_ESCAPE:
sys.exit()
elif event.type == pygame.QUIT:
sys.exit()
elif event.type == MOUSEBUTTONDOWN and mx > 400 and mx < 600 and my > 100 and my < 300:
rpgsound.play()
t = 0
elif event.type == MOUSEBUTTONDOWN:
rpgsound.play()
screen.fill(green)
screen.blit(bird,(x,y))
screen.blit(building,(400,50))
screen.blit(rpg,(mx-300,my-200))
x = x+1
pygame.display.flip()
if x == 400:
screen.blit(text2,(0,0))
pygame.display.flip()
time.sleep(3)
sys.exit()
final = pygame.image.load("FINAL.png")
screen.blit(final,(0,0))
pygame.display.flip()
time.sleep(3)
sys.exit()
Любая помощь либо выявления проблем или даже помочь мне исправить их будет высоко оценен.
Действительно ли вы установили 'pygame' на свой компьютер? – MattDMo
Возможно, это потому, что у вас есть несколько циклов 'while' и циклы событий. –
У меня были проблемы с установкой pygame, но я думаю, что он установлен. Это также не имеет значения, когда я запускаю преобразованный файл exe, поскольку они должны работать даже без установленного python. – gxt