鱼C论坛

 找回密码
 立即注册
查看: 2990|回复: 15

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

[复制链接]
发表于 2020-2-17 16:59:03 | 显示全部楼层 |阅读模式
2鱼币
#代码没有问题,但全屏后小乌龟会在屏幕外面一圈的位置反弹。如图。为什么啊!

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[0] = -speed[0]

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

    screen.fill(bg)

    screen.blit(turtle,position)

    pygame.display.flip()

    clock.tick(200)

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

小乌龟会在屏幕外面一点的地方反弹

小乌龟会在屏幕外面一点的地方反弹
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 10:49:15 | 显示全部楼层
把尺寸调小一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 13:07:22 | 显示全部楼层
把尺寸缩小一点就应该好了,试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-18 17:03:49 | 显示全部楼层
蒋博文 发表于 2020-2-18 13:07
把尺寸缩小一点就应该好了,试试

试过了,调成1600*900会出bug,会闪退
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 18:09:19 | 显示全部楼层
emmmm吗,那改一下函数值,试一试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 18:10:18 | 显示全部楼层
我说的函数值是你在代码前面写的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-20 10:25:24 | 显示全部楼层
蒋博文 发表于 2020-2-18 18:10
我说的函数值是你在代码前面写的值

什么代码前面写的值?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-18 17:12:01 | 显示全部楼层
我也是这个问题 请问楼主解决了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-18 17:22:12 | 显示全部楼层
楼主 我知道了 把分别率再调小一点就好了 不一定是最大的那个就是对的 我是第三个才没有边缘bug的 如果退出全屏以后又图片反复横跳的bug 再重新获取一次图片位置就行了 position = people.get_rect() 就是这个语句
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-19 17:30:09 | 显示全部楼层
你们在干嘛,我来蹭个热度哈
咳咳,只是开个玩笑,依我看,你得按照屏幕的改变,去改变screen_size,也就是width和height的值啊 ,不然结果就是这样
提醒:和9楼一样,position的值也要随机应变


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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

评分

参与人数 1荣誉 +5 鱼币 +1 贡献 +3 收起 理由
Nawox + 5 + 1 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-20 11:50:18 | 显示全部楼层
你们谁缺鱼币吗突然发现还有两鱼币悬赏,但问题已经解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-20 12:09:01 | 显示全部楼层
可能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

我从不充值,我缺鱼币,选我当最佳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-20 23:09:50 | 显示全部楼层
陈尚涵 发表于 2020-7-20 18:12
我从不充值,我缺鱼币,选我当最佳

就知道白嫖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-21 10:01:39 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 12:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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