2016-01-27 3 views
0

Я пытаюсь изменить размер моей игры из меню, но я застрял. Я пытаюсь масштабировать размер экрана, которым должен обладать меню, когда я нажимаю на новую игру. Кто-нибудь есть идея о том, как исправить это, поскольку я не могу найти что-нибудь еще.Изменение размера экрана pygame

import pygame 
import runpy 
import webbrowser, os 
from Game import * 
pygame.init() 


class Option: 

    hovered = False 

    def __init__(self, text, pos): 
     self.text = text 
     self.pos = pos 
     self.set_rect() 
     self.draw() 

    def draw(self): 
     self.set_rend() 
     screen.blit(self.rend, self.rect,) 

    def set_rend(self): 
     self.rend = menu_font.render(self.text, True, self.get_color()) 

    def get_color(self): 
     if self.hovered: 
      return (255,255,255) 
     else: 
      return (100,100,100) 

    def set_rect(self): 
     self.set_rend() 
     self.rect = self.rend.get_rect() 
     self.rect.topleft = self.pos 

    def onSelect(self): 
     if self.text == "Quit": 
      pygame.quit() 
      quit() 
     if self.text == "Instructions": 
      webbrowser.open_new("file://" + os.path.realpath("Manual.pdf")) 
     **if self.text == "New game": 
      Main()** 


class Background(pygame.sprite.Sprite): 
    def __init__(self, image_file,): 
     pygame.sprite.Sprite.__init__(self) 
     self.image = pygame.image.load(image_file) 
     self.rect = self.image.get_rect() 

pygame.init() 
pygame.mixer.music.load('Really Slow Motion - Fjord Keeper (Epic Intense Uplifting).mp3') 
pygame.mixer.music.play(-1) 
BackGround = Background('bg.png') 
screen = pygame.display.set_mode((480, 320)) 
menu_font = pygame.font.Font(None, 40) 
options = [Option("New game", (2, 195)), Option("Instructions", (2, 245)), 
      Option("Quit", (2, 295))] 
while True: 
    pygame.event.pump() 
    screen.fill((0, 0, 0)) 
    screen.blit(BackGround.image, BackGround.rect) 
    ev = pygame.event.get() 
    for event in ev: 
     if event.type == pygame.QUIT: 
      pygame.quit() 
     for option in options: 
      if option.rect.collidepoint(pygame.mouse.get_pos()): 
       option.hovered = True 
      else: 
       option.hovered = False 
      if option.hovered: 
       for event in ev: 
        if event.type == pygame.MOUSEBUTTONDOWN: 
         option.onSelect() 

      option.draw() 
     pygame.display.update() 

Это мое меню до сих пор, но я пытаюсь масштабировать его так, чтобы оно было 1300x1000.

ответ

0

Я нахожусь на мобильном телефоне, и я не знаю, как это сделать, поэтому я просто напечатаю его, k? K ....

экран = pygame.display.set_mode ((1300, 1300))

Поместите это, где вы хотите его изменить. Так что скажем, вы положили его как клавишу f. Затем, когда вы нажимаете f, он должен изменить разрешение экрана на set_mode.

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