Forum
>>
Programmazione Python
>>
Videogames
>>
Menu Videogame
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da BlackFenix06 |
2016-12-30 09:28:35 - Menu Videogame
|
Salve, premettendo che spero sia la sezione giusta per porre la domanda, mi chiedevo se potreste darmi una mano con un problema che mi si è parato davanti.
Sto creando un menu per un Videogame, in Python 3.5 con Pygame. import pygame, sys, os DisplayWidth, DisplayHeight = 960, 960 SurfaceWidth, SurfaceHeight = 960, 960 BookLoop = True StatusMenu = True StatusTextFontColor = "White" TextMenuList = ["Scelta Capitoli", "Crediti", "Esci"] Clock = pygame.time.Clock() def init(): global Display, Surface pygame.init() infoDisplay = pygame.display.Info() X = ((infoDisplay.current_w / 2) - 480) Y = ((infoDisplay.current_h / 2) - 480) os.environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (X, Y) Display = pygame.display.set_mode((DisplayWidth, DisplayHeight), pygame.DOUBLEBUF | pygame.HWSURFACE) Surface = pygame.Surface((SurfaceWidth, SurfaceHeight)) def quit(): pygame.quit() sys.exit() def infoMenu(): global MousePosX, MousePosY MousePosX, MousePosY = pygame.mouse.get_pos() def menuText(txt, dist): global StatusTextFontColor, TextMenuX, TextMenuY, TextMenuWidth, TextMenuHeight TextMenuFont = pygame.font.Font("font/njnaruto.ttf", 50) if StatusTextFontColor == "Red": TextFontColor = (255, 0, 0) else: TextFontColor = (255, 255, 255) TextMenuSurf = TextMenuFont.render(str(txt), True, TextFontColor) TextMenuWidth = TextMenuSurf.get_width() TextMenuHeight = TextMenuSurf.get_height() TextMenuX = int(DisplayWidth / 2) - int(TextMenuWidth / 2) TextMenuY = int(DisplayHeight / 2) + dist if TextMenuX < MousePosX < TextMenuX + TextMenuWidth and TextMenuY < MousePosY < TextMenuY + TextMenuHeight: StatusTextFontColor = "Red" else: StatusTextFontColor = "White" Display.blit(TextMenuSurf, (TextMenuX, TextMenuY)) def book(): global StatusMenu while BookLoop is True: infoMenu() Display.fill((0, 0, 0)) for event in pygame.event.get(): if event.type is pygame.QUIT: quit() if event.type is pygame.KEYDOWN: if event.key is pygame.K_ESCAPE: if StatusMenu is True: quit() else: StatusMenu = True if event.type is pygame.MOUSEBUTTONDOWN: if TextMenuX < MousePosX < TextMenuX + TextMenuWidth and TextMenuY < MousePosY < TextMenuY + TextMenuHeight and StatusMenu is True: print("pass") menuText(TextMenuList[0], -300) menuText(TextMenuList[1], 0) menuText(TextMenuList[2], +300) pygame.display.flip() Clock.tick(30) init() book() Il problema è che se il mouse va su una delle opzioni ("Scelta capitoli", "Opzioni" e "Esci"), viene selezionato l'opzione sbagliata. Per intenderci, se con il mouse si va sopra ad esempio su "Scelta capitoli", viene selezionato "Opzioni". Se il mouse va su "Opzioni" viene selezionato "Esci". Se il mouse va su "Esci" viene selezionato "Scelta capitoli". Inoltre, Premendo sull'opzione dove si trova il mouse, non succede nulla, tranne per l'opzione "Esci". Sapete aiutarmi? |
|
Scritto da boshboston |
2018-10-13 10:01:53 - Re: Menu Videogame
|
COMMENTO ELIMINATO
--- Ultima modifica di Daniele aka Palmux in data 2018-10-13 11:03:41 --- |
|
Scritto da Daniele aka Palmux |
2018-10-13 10:31:20 - Re: Menu Videogame
|
Ciao a te, non so aiutarti in questo problema specifico, ma so che se cerchi una mano devi predisporre il tuo interlocutore ad avere la voglia e la pazienza di farlo.
Per questo devi presentare il codice in maniera leggibile, perché in Python la sintassi gioca un ruolo importante. Quindi in fase di inserimento usa il tasto apposito. Ciao e buona fortuna. |
Pagina: 1
Esegui il login per scrivere una risposta.