pygame的全屏模式遇到一个问题
import pygameimport sys
from pygame.locals import *
#pygame.init()
size = width, height = 990, 540
speed = [-2, 1]
bg = (255, 255, 255)
screen = pygame.display.set_mode(size)
pygame.display.set_caption('标题')
pygame.display.flip()
turtle = pygame.image.load(r'C:\Users\Admin\Desktop\111.gif')
position = turtle.get_rect()
turtle_left = turtle
turtle_right = pygame.transform.flip(turtle, True, False)
f = open(r'D:\python库\事件.txt', 'w')
fullscreen = False
while True:
for event in pygame.event.get():
f.write(str(event) + '\n')
if event.type == pygame.QUIT:
f.close()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_LEFT:
turtle = turtle_left
speed = [-1, 0]
if event.key == K_RIGHT:
turtle = turtle_left
turtle = turtle_right
speed =
if event.key == K_UP:
speed =
if event.key == K_DOWN:
speed =
if event.key == K_F11:
fullscreen = not fullscreen
if fullscreen:
screen = pygame.display.set_mode((1980,1080), FULLSCREEN)
else:
screen = pygame.display.set_mode(size)
position = position.move(speed)
if position.left < 0 or position.right > width:
# 翻转图像
turtle = pygame.transform.flip(turtle, True, False)
speed = -speed
if position.top < 0 or position.bottom > height:
speed = -speed
# 填充背景
screen.fill(bg)
# 更新图像
screen.blit(turtle, position)
# 刷新界面
pygame.display.flip()
# 延迟10毫秒
pygame.time.delay(10)
在使用全屏模式下不能正确的显示
list_mode = pygame.display.list_modes()
list_mode
获得最大支持的分辨率试试?替换 1980,1080 本帖最后由 小伤口 于 2020-12-30 12:11 编辑
import pygame
import sys
from pygame.locals import *
#pygame.init()
size = width, height = 990, 540
speed = [-2, 1]
bg = (255, 255, 255)
screen = pygame.display.set_mode(size)
pygame.display.set_caption('标题')
pygame.display.flip()
turtle = pygame.image.load(r'C:\Users\Admin\Desktop\111.gif')
position = turtle.get_rect()
turtle_left = turtle
turtle_right = pygame.transform.flip(turtle, True, False)
f = open(r'D:\python库\事件.txt', 'w')
fullscreen = False
while True:
for event in pygame.event.get():
f.write(str(event) + '\n')
if event.type == pygame.QUIT:
f.close()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_LEFT:
turtle = turtle_left
speed = [-1, 0]
if event.key == K_RIGHT:
turtle = turtle_left
turtle = turtle_right
speed =
if event.key == K_UP:
speed =
if event.key == K_DOWN:
speed =
if event.key == K_F11:
fullscreen = not fullscreen
if fullscreen:
screen = pygame.display.set_mode((1980,1080), FULLSCREEN)
width,height=1980,1080#有可能图片会消失在里面一会,分辨率可能有点大
else:
width,height=990,540
screen = pygame.display.set_mode(size)
position=turtle.get_rect()
position = position.move(speed)
if position.left < 0 or position.right > width:
# 翻转图像
turtle = pygame.transform.flip(turtle, True, False)
speed = -speed
if position.top < 0 or position.bottom > height:
speed = -speed
# 填充背景
screen.fill(bg)
# 更新图像
screen.blit(turtle, position)
# 刷新界面
pygame.display.flip()
# 延迟10毫秒
pygame.time.delay(10)
你试试这样,看行不(话说你这个图片好带劲{:10_256:} ) 小伤口 发表于 2020-12-30 08:58
你试试这样,看行不(话说你这个图片好带劲 )
不行,问题依然存在 Daniel_Zhang 发表于 2020-12-29 23:22
list_mode = pygame.display.list_modes()
list_mode
可以正常的全屏了,但还是存在一问题当我返回窗口模式的时候,窗口会显示在屏幕的左上角,并且边框没有了 qin_yin 发表于 2020-12-30 19:32
可以正常的全屏了,但还是存在一问题当我返回窗口模式的时候,窗口会显示在屏幕的左上角,并且边框没有了
这个问题我也没解决{:10_250:} qin_yin 发表于 2020-12-30 19:32
可以正常的全屏了,但还是存在一问题当我返回窗口模式的时候,窗口会显示在屏幕的左上角,并且边框没有了
反正我就这样就过了这一讲{:10_256:} qin_yin 发表于 2020-12-30 19:32
可以正常的全屏了,但还是存在一问题当我返回窗口模式的时候,窗口会显示在屏幕的左上角,并且边框没有了
《零基础》 81课和82课 的bug修复
https://fishc.com.cn/thread-95791-1-1.html
(出处: 鱼C论坛)
我找到了这个贴子,应该会给你帮助{:10_297:} 本帖最后由 Daniel_Zhang 于 2020-12-30 20:15 编辑
qin_yin 发表于 2020-12-30 19:32
可以正常的全屏了,但还是存在一问题当我返回窗口模式的时候,窗口会显示在屏幕的左上角,并且边框没有了
我当时似乎也有这个毛病,我感觉是不是需要在全屏之前,先获取一下当前的分辨率,用一个变量保存起来,等全屏之后,恢复成原来状态的时候,再重新设置一次分辨率(之前的变量里面存储的那个分辨率)
因为全屏的时候修改了分辨率,似乎是?恢复之后好像只是恢复了窗口大小,分辨率没有?我不是很确定哈~
页:
[1]