2014-02-15 7 views
1

Я создал программу с 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(); 
+1

Вам нужно показать минимальный код, который мы можем запустить, чтобы увидеть, что вы делаете, чтобы иметь возможность получить ответ на этот вопрос. Я люблю идею того, что вы лизаете значок, чтобы он появился, - полные отметки для этого: D – GreenAsJade

ответ

0

Существует метод в pygame.display называется set_icon. Вы можете использовать его, чтобы переопределить значок змеи по умолчанию.

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