屏幕大小调整pygame

时间:2016-01-27 13:07:12

标签: python 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。

1 个答案:

答案 0 :(得分:0)

我在手机上,我不知道如何处理代码,所以我只是输入它,k? ķ....

screen = pygame.display.set_mode((1300,1300))

将它放在您想要更改的位置。所以我们说你把它作为f键。然后当你按f时它应该将屏幕res更改为set_mode。