s和光同尘s 发表于 2020-2-17 16:59:03

pygame全屏后尺寸与屏幕大小不相符

#代码没有问题,但全屏后小乌龟会在屏幕外面一圈的位置反弹。如图。为什么啊!

import pygame
import sys

pygame.init()

screen_size = width, height = 600,400
speed = [-3,4]
bg = (255,255,255)
fullscreen = False

clock = pygame.time.Clock()

screen = pygame.display.set_mode(screen_size)

pygame.display.set_caption('Turle')

turtle = pygame.image.load('turtle.png')

r_turtle = pygame.transform.flip(turtle, True, False)
l_turtle = turtle

position = turtle.get_rect()
position.left,position.top = (200,150)

while 1:
    for even in pygame.event.get():
      if even.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

      if even.type == pygame.KEYDOWN:
            if even.key == pygame.K_F11:
                fullscreen = not fullscreen
                if fullscreen:
                  screen_size = width, height = 1920,1080
                  screen = pygame.display.set_mode(screen_size,pygame.FULLSCREEN | pygame.HWSURFACE)
                else:
                  screen_size = width, height = 600,400
                  screen = pygame.display.set_mode(screen_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()

    clock.tick(200)

#代码没有问题,但全屏后小乌龟会在屏幕外面一圈的位置反弹。如图。为什么啊!

一个账号 发表于 2020-2-18 10:49:15

把尺寸调小一点

蒋博文 发表于 2020-2-18 13:07:22

把尺寸缩小一点就应该好了,试试

s和光同尘s 发表于 2020-2-18 17:03:49

蒋博文 发表于 2020-2-18 13:07
把尺寸缩小一点就应该好了,试试

试过了,调成1600*900会出bug,会闪退

蒋博文 发表于 2020-2-18 18:09:19

emmmm吗,那改一下函数值,试一试

蒋博文 发表于 2020-2-18 18:10:18

我说的函数值是你在代码前面写的值

s和光同尘s 发表于 2020-2-20 10:25:24

蒋博文 发表于 2020-2-18 18:10
我说的函数值是你在代码前面写的值

什么代码前面写的值?

413342974 发表于 2020-7-18 17:12:01

我也是这个问题 请问楼主解决了吗

413342974 发表于 2020-7-18 17:22:12

楼主 我知道了 把分别率再调小一点就好了 不一定是最大的那个就是对的 我是第三个才没有边缘bug的 如果退出全屏以后又图片反复横跳的bug 再重新获取一次图片位置就行了 position = people.get_rect() 就是这个语句

陈尚涵 发表于 2020-7-19 17:30:09

你们在干嘛,我来蹭个热度哈
咳咳,只是开个玩笑,依我看,你得按照屏幕的改变,去改变screen_size,也就是width和height的值啊 ,不然结果就是这样
提醒:和9楼一样,position的值也要随机应变

今天,那位大佬没来。你就选我当最佳被

s和光同尘s 发表于 2020-7-20 11:41:30

陈尚涵 发表于 2020-7-19 17:30
你们在干嘛,我来蹭个热度哈
咳咳,只是开个玩笑,依我看,你得按照屏幕的改变,去改变screen_size,也就 ...

哦我已经找到问题了,是在桌面->显示->缩放与布局里我的默认大小的125%{:10_266:}跟代码没关系。麻烦各位大佬啦

s和光同尘s 发表于 2020-7-20 11:50:18

你们谁缺鱼币吗{:10_266:}突然发现还有两鱼币悬赏,但问题已经解决了

小白python! 发表于 2020-7-20 12:09:01

可能

陈尚涵 发表于 2020-7-20 18:12:20

s和光同尘s 发表于 2020-7-20 11:50
你们谁缺鱼币吗突然发现还有两鱼币悬赏,但问题已经解决了

我从不充值,我缺鱼币,选我当最佳{:10_254:}

永恒的蓝色梦想 发表于 2020-7-20 23:09:50

陈尚涵 发表于 2020-7-20 18:12
我从不充值,我缺鱼币,选我当最佳

就知道白嫖{:10_277:}

陈尚涵 发表于 2020-7-21 10:01:39

永恒的蓝色梦想 发表于 2020-7-20 23:09
就知道白嫖

{:10_249:}{:10_249:}
页: [1]
查看完整版本: pygame全屏后尺寸与屏幕大小不相符