Python: 有什么方法可以在不使用 pygame.RESIZABLE 的情况下仅调整 pygame window 一次?
Python: Is there any way to resize a pygame window only once without using pygame.RESIZABLE
我希望能够为我的游戏创建 500x500 的主菜单,并且在该主菜单循环中,我想使用命令 'q' 运行 主游戏循环。如果按下 'q',则需要调整 window 的大小以适应游戏的所有资产
代码:
import pygame
import sys
win = pygame.display.set_mode((500, 500))
def main_menu():
running = True
frame = 30
clock = pygame.time.Clock()
while running:
for event in pygame.event.get():
win.fill(220,220,220)
# When the main menu is run, the window should be 500x500
if event.type == pygame.QUIT:
running = False
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_q:
main()
# When main is run, I want the window to be resized to 900, 700
pygame.display.update()
clock.tick(frame)
if __name__ == '__main__':
main_menu()
我最初尝试这样做,但它一直出现故障 window 所以我停止了:
if event.key == K_q:
pygame.display.set_mode((900, 700))
main()
嘿,你是 pygame 的新手吗?
你的代码没有正确地缩进,你把很多东西放在了错误的地方:-
if '__name__ = __main__'
有一个 space
和main()
还有
你的 win.fill(color)
也需要 win.fill((color))
要更改屏幕尺寸,您需要执行 win = pygame.display.setmode((new screen size))
我已修复代码中的所有错误,当您按 q 时屏幕尺寸会发生变化:-
这是代码:-(我也是新来的,希望这对您有所帮助,请为我的回答点赞并将其设置为正确答案)
import pygame
from pygame.locals import *
import sys
win = pygame.display.set_mode((500, 500))
def main_menu():
running = True
frame = 30
clock = pygame.time.Clock()
while running:
global win
win.fill((255,255,255))
for event in pygame.event.get():
# When the main menu is run, the window should be 500x500
if event.type == pygame.QUIT:
running = False
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_q:
win = pygame.display.set_mode((900,700))
# When main is run, I want the window to be resized to 900, 700
pygame.display.update()
clock.tick(frame)
if __name__ == '__main__':
main_menu()
我希望能够为我的游戏创建 500x500 的主菜单,并且在该主菜单循环中,我想使用命令 'q' 运行 主游戏循环。如果按下 'q',则需要调整 window 的大小以适应游戏的所有资产
代码:
import pygame
import sys
win = pygame.display.set_mode((500, 500))
def main_menu():
running = True
frame = 30
clock = pygame.time.Clock()
while running:
for event in pygame.event.get():
win.fill(220,220,220)
# When the main menu is run, the window should be 500x500
if event.type == pygame.QUIT:
running = False
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_q:
main()
# When main is run, I want the window to be resized to 900, 700
pygame.display.update()
clock.tick(frame)
if __name__ == '__main__':
main_menu()
我最初尝试这样做,但它一直出现故障 window 所以我停止了:
if event.key == K_q:
pygame.display.set_mode((900, 700))
main()
嘿,你是 pygame 的新手吗? 你的代码没有正确地缩进,你把很多东西放在了错误的地方:-
if '__name__ = __main__'
有一个 space
和main()
还有
你的 win.fill(color)
也需要 win.fill((color))
要更改屏幕尺寸,您需要执行 win = pygame.display.setmode((new screen size))
我已修复代码中的所有错误,当您按 q 时屏幕尺寸会发生变化:-
这是代码:-(我也是新来的,希望这对您有所帮助,请为我的回答点赞并将其设置为正确答案)
import pygame
from pygame.locals import *
import sys
win = pygame.display.set_mode((500, 500))
def main_menu():
running = True
frame = 30
clock = pygame.time.Clock()
while running:
global win
win.fill((255,255,255))
for event in pygame.event.get():
# When the main menu is run, the window should be 500x500
if event.type == pygame.QUIT:
running = False
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_q:
win = pygame.display.set_mode((900,700))
# When main is run, I want the window to be resized to 900, 700
pygame.display.update()
clock.tick(frame)
if __name__ == '__main__':
main_menu()