为什么pygame不可以全屏?
import pygameimport sys
from pygame.locals import *
pygame.init()#初始化
clock=pygame.time.Clock()#控制帧率
size=width,height=600,400
speed=[-2,1]
bg=(255,255,255)
fullscreen=False
#创建指定大小的窗口
screen=pygame.display.set_mode(size)
#设置窗口标题
pygame.display.set_caption("Hello pygame!")
#加载图片
cat=pygame.image.load('arrow.jpg')
#获得图像的位置矩形
position=cat.get_rect()
cat=pygame.transform.rotate(cat,180)
r_head=cat #右
l_head=pygame.transform.rotate(cat,180) #左
u_head=pygame.transform.rotate(cat,270) #上
d_head=pygame.transform.rotate(cat,90) #下
while 1:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
if event.type==KEYDOWN:
if event.key==K_LEFT:
speed=[-1,0]
cat=r_head
if event.key==K_RIGHT:
speed=
cat=l_head
if event.key==K_UP:
speed=
cat=u_head
if event.key==K_DOWN:
speed=
cat=d_head
if event.key == K_F11:
fullscreen = not fullscreen
if fullscreen:
screen = pygame.display.set_mode((1920,1080),FULLSCREEN | HWSURFACE)
else:
screen = pygame.display.set_mode(size)
#开始移动
position = position.move(speed)
if position.left<0 or position.right>width:
#翻转图像,水平翻转为True,竖直翻转为False
cat=pygame.transform.flip(cat,True,False)
#反方向移动
speed=-speed
if position.top<0 or position.bottom>height:
cat = pygame.transform.flip(cat, False, True)
speed = -speed
#填充背景
screen.fill(bg)
#更新图像
screen.blit(cat,position)
#更新界面
pygame.display.flip()
#延迟画面(10ms)
#pygame.time.delay(10)
clock.tick(100)
试试这个代码:
import pygame
import sys
from pygame.locals import *
pygame.init()#初始化
clock=pygame.time.Clock()#控制帧率
size=width,height=600,400
speed=[-2,1]
bg=(255,255,255)
fullscreen=False
#创建指定大小的窗口
screen=pygame.display.set_mode(size)
#设置窗口标题
pygame.display.set_caption("Hello pygame!")
#加载图片
cat=pygame.image.load('arrow.jpg')
#获得图像的位置矩形
position=cat.get_rect()
cat=pygame.transform.rotate(cat,180)
r_head=cat #右
l_head=pygame.transform.rotate(cat,180) #左
u_head=pygame.transform.rotate(cat,270) #上
d_head=pygame.transform.rotate(cat,90) #下
while 1:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
if event.type==KEYDOWN:
if event.key==K_LEFT:
speed=[-1,0]
cat=r_head
if event.key==K_RIGHT:
speed=
cat=l_head
if event.key==K_UP:
speed=
cat=u_head
if event.key==K_DOWN:
speed=
cat=d_head
if event.key == K_F11:
fullscreen = not fullscreen
if fullscreen:
screen = pygame.display.set_mode((1920,1080),FULLSCREEN | HWSURFACE)
else:
screen = pygame.display.set_mode(size)
#开始移动
position = position.move(speed)
if position.left<0 or position.right>width:
#翻转图像,水平翻转为True,竖直翻转为False
cat=pygame.transform.flip(cat,True,False)
#反方向移动
speed=-speed
if position.top<0 or position.bottom>height:
cat = pygame.transform.flip(cat, False, True)
speed = -speed
#填充背景
screen.fill(bg)
#更新图像
screen.blit(cat,position)
#更新界面
pygame.display.flip()
#延迟画面(10ms)
#pygame.time.delay(10)
clock.tick(100) while 1 循环的第二个if的缩进导致的。第二个if也应该在for循环内。
修改这个就没有问题了
另外下次发代码请用代码格式,那样更容易帮你看程序问题。
发帖的时候,编辑框上方工具区有个"<>”按钮,是发代码用的 sunrise085 发表于 2021-1-31 12:01
while 1 循环的第二个if的缩进导致的。第二个if也应该在for循环内。
修改这个就没有问题了
谢谢大佬提醒
Twilight6 发表于 2021-1-31 11:48
试试这个代码:
大佬,你这个也不行,按f11没有任何反应,感觉可能是我的电脑不支持全屏 zcn123 发表于 2021-1-31 12:50
大佬,你这个也不行,按f11没有任何反应,感觉可能是我的电脑不支持全屏
好吧,你运行代码后有点击下弹出的窗口吗?点击完再试试 F11 Twilight6 发表于 2021-1-31 12:52
好吧,你运行代码后有点击下弹出的窗口吗?点击完再试试 F11
我点了,没用 Twilight6 发表于 2021-1-31 12:52
好吧,你运行代码后有点击下弹出的窗口吗?点击完再试试 F11
我摸索出来了,我笔记本home键与f11键重合了,而按键触发的是home键效果,K_F11改成K_HOME就可以了 zcn123 发表于 2021-1-31 13:14
我摸索出来了,我笔记本home键与f11键重合了,而按键触发的是home键效果,K_F11改成K_HOME就可以了
{:10_282:}原来如此 Twilight6 发表于 2021-1-31 13:16
原来如此
{:9_226:} Twilight6 发表于 2021-1-31 13:16
原来如此
出现这种情况我也挺无语的
页:
[1]