Я создал программу с python и pygame и связал ее с файлом .app с помощью py2app. Он просто не открывается должным образом, когда я нажимаю значок, он не отображается на экране, пока я не нажму на значок на доке, к тому времени часть кода уже запущена и разрушит точку фактической программы.Почему приложение python/pygame не отображается правильно
Я также не могу изменить значок с обычного значка на значок, который я создал, я поместил его в папку, заменив ее по умолчанию. Значок не появляется на доке, это делает змея pygame.
И наконец, файл .app будет работать на любом Mac?
КСТАТИ, это просто программа для какой-то забавной Код:
import random, pygame, time, sys
time.sleep(2)
colour_1 = (0,255,255)
colour_2 = (0,255,0)
colour_3 = (255,255,0)
colour_4 = (255,0,0)
colour_5 = (0,0,255)
black = (0,0,0)
white = (255,255,255)
h = 500
w = 500
pygame.init()
FPS = 30
fpsClock = pygame.time.Clock()
screen = pygame.display.set_mode((w,h))
pygame.display.set_caption("You just lost the game")
alpha = 255
shape = screen.convert_alpha()
stimulus = pygame.Rect(0,0,500,500)
def the_game():
#Makes the text "the game" and the text "you just lost it" fade into the screen
global alpha
alpha = alpha - 5
##############
Font = pygame.font.SysFont("monospace",40,True,False)
Text = Font.render("The Game",1,white)
screen.blit(Text,(140,125))
pygame.draw.rect(shape,(0,0,0,alpha),stimulus)
screen.blit(shape,(0,0))
pygame.display.update(stimulus)
fpsClock.tick(FPS)
def lost_it():
#Writes "the game" and "you just lost it" onto the screen
Font = pygame.font.SysFont("monospace",40,True,False)
Text = Font.render("The Game",1,(white))
text = Font.render("YOU JUST LOST IT",1,(white))
screen.blit(text,(50,250))
screen.blit(Text,(140,125))
pygame.display.update()
def flash():
#Writes "the game" and "you just lost it" onto the screen
#Changes the background colour of the screen
Font = pygame.font.SysFont("monospace",40,True,False)
Text = Font.render("The Game",1,(black))
text = Font.render("YOU JUST LOST IT",1,(black))
rand = random.randint(0,5)
if rand == 1:
screen.fill(colour_1)
if rand == 2:
screen.fill(colour_2)
if rand == 3:
screen.fill(colour_3)
if rand == 4:
screen.fill(colour_4)
if rand == 5:
screen.fill(colour_5)
screen.blit(text,(50,250))
screen.blit(Text,(140,125))
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit(); sys.exit();
while True:
if alpha == 0:
break
else:
the_game()
time.sleep(1)
lost_it()
while True:
flash()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit(); sys.exit();
Вам нужно показать минимальный код, который мы можем запустить, чтобы увидеть, что вы делаете, чтобы иметь возможность получить ответ на этот вопрос. Я люблю идею того, что вы лизаете значок, чтобы он появился, - полные отметки для этого: D – GreenAsJade