2016-01-27 192 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? ķ....

屏幕= pygame.display.set_mode((1300,1300))

将这个你希望它改变。所以,让我们说你把它作为f键。然后当你按f时,它应该将屏幕res改为set_mode。