鱼C论坛

 找回密码
 立即注册
查看: 2414|回复: 9

[已解决]pygame全屏之后小狗跑出屏幕外了

[复制链接]
发表于 2020-9-19 17:48:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. import pygame
  2. import sys
  3. from pygame.locals import *

  4. #初始化Pygame
  5. pygame.init()

  6. size = width,height = 600,400
  7. speed = [-2,-1]
  8. bg = (255,255,255) timg.gif

  9. fullscreen = False

  10. #创建指定大小窗口
  11. screen = pygame.display.set_mode(size)
  12. #设置窗口标题
  13. pygame.display.set_caption('初次见面请多关照')
  14. #加载图片
  15. dog = pygame.image.load("timg.gif")
  16. dog = pygame.transform.flip(dog,True,False)
  17. #获得图像的位置矩形
  18. position = dog.get_rect()

  19. l_head = dog
  20. r_head = pygame.transform.flip(dog,True,False)
  21. while True:
  22.     for event in pygame.event.get():
  23.         if event.type == pygame.QUIT:
  24.             sys.exit()

  25.         if event.type == KEYDOWN:
  26.             if event.key == K_LEFT:
  27.                 dog = l_head
  28.                 speed = [-1,0]
  29.             if event.key == K_RIGHT:
  30.                 dog = r_head
  31.                 speed = [1,0]
  32.             if event.key == K_UP:
  33.                 speed = [0,-1]
  34.             if event.key == K_DOWN:
  35.                 speed = [0,1]
  36.         #全屏
  37.             if event.key == K_F11:
  38.                 fullscreen = not fullscreen
  39.                 if fullscreen:
  40.                     screen = pygame.display.set_mode((1920,1080), FULLSCREEN | HWSURFACE)
  41.                     width = 1980
  42.                     height = 1080
  43.                     if position.bottom > height:
  44.                         position.bottom = height
  45.                     if position.top < 0:
  46.                         position.top = 0
  47.                     if position.right > width:
  48.                         position.rigth = width
  49.                     if position.left < 0:
  50.                         position.left = 0
  51.                     
  52.                 else:
  53.                     screen = pygame.display.set_mode(size)
  54.                     width = 600
  55.                     height = 400
  56.                     position = dog.get_rect()
  57.                
  58.         
  59.     #移动图像
  60.     position = position.move(speed)

  61.     if position.left < 0 or position.right > width:
  62.         #翻转图像
  63.         dog = pygame.transform.flip(dog,True,False)
  64.         #反方向移动
  65.         speed[0] = -speed[0]

  66.     if position.top < 0 or position.bottom > height:
  67.         speed[1] = -speed[1]

  68.     #填充背景
  69.     screen.fill(bg)
  70.     #更新图像
  71.     screen.blit(dog,position)
  72.     #更新界面
  73.     pygame.display.flip()
  74.     #延迟10毫秒
  75.     pygame.time.delay(10)
复制代码

最佳答案
2020-9-19 18:55:05
def花 发表于 2020-9-19 18:16
我在网上看到说是因为:
win10把显示内容125%放大了


对呀,默认是 125%,在个性化里面调成 100% 应该就没毛病了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-9-19 17:50:33 | 显示全部楼层


噗  这可爱的狗狗在代码中好搞笑

可能是你系统分辨率的原因,设置下系统的分辨率然后在进行运行代码尝试效果
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 17:52:36 | 显示全部楼层
全屏按钮是灰的,没法全屏啊,,,,,怎么弄
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 17:55:58 | 显示全部楼层
Twilight6 发表于 2020-9-19 17:50
噗  这可爱的狗狗在代码中好搞笑

可能是你系统分辨率的原因,设置下系统的分辨率然后在进行运行代码 ...

系统分辨率也是一样的 1980 1080
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 17:56:47 | 显示全部楼层
疾风怪盗 发表于 2020-9-19 17:52
全屏按钮是灰的,没法全屏啊,,,,,怎么弄

按 f11全屏
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 18:09:42 | 显示全部楼层
好可爱的狗狗
炖了肯定很好吃吃
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 18:11:37 | 显示全部楼层
巴巴鲁 发表于 2020-9-19 18:09
好可爱的狗狗
炖了肯定很好吃吃

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 18:16:15 | 显示全部楼层
我在网上看到说是因为:
win10把显示内容125%放大了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 18:17:38 | 显示全部楼层

我就凑个热闹,对初学者有点深奥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 18:55:05 | 显示全部楼层    本楼为最佳答案   
def花 发表于 2020-9-19 18:16
我在网上看到说是因为:
win10把显示内容125%放大了


对呀,默认是 125%,在个性化里面调成 100% 应该就没毛病了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-27 09:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表