def花 发表于 2020-9-19 17:48:00

pygame全屏之后小狗跑出屏幕外了

import pygame
import sys
from pygame.locals import *

#初始化Pygame
pygame.init()

size = width,height = 600,400
speed = [-2,-1]
bg = (255,255,255)

fullscreen = False

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

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

      if event.type == KEYDOWN:
            if event.key == K_LEFT:
                dog = l_head
                speed = [-1,0]
            if event.key == K_RIGHT:
                dog = r_head
                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((1920,1080), FULLSCREEN | HWSURFACE)
                  width = 1980
                  height = 1080
                  if position.bottom > height:
                        position.bottom = height
                  if position.top < 0:
                        position.top = 0
                  if position.right > width:
                        position.rigth = width
                  if position.left < 0:
                        position.left = 0
                  
                else:
                  screen = pygame.display.set_mode(size)
                  width = 600
                  height = 400
                  position = dog.get_rect()
               
      
    #移动图像
    position = position.move(speed)

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

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

    #填充背景
    screen.fill(bg)
    #更新图像
    screen.blit(dog,position)
    #更新界面
    pygame.display.flip()
    #延迟10毫秒
    pygame.time.delay(10)

Twilight6 发表于 2020-9-19 17:50:33



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

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

疾风怪盗 发表于 2020-9-19 17:52:36

全屏按钮是灰的,没法全屏啊,,,,,怎么弄

def花 发表于 2020-9-19 17:55:58

Twilight6 发表于 2020-9-19 17:50
噗这可爱的狗狗在代码中好搞笑

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

系统分辨率也是一样的 1980 1080

def花 发表于 2020-9-19 17:56:47

疾风怪盗 发表于 2020-9-19 17:52
全屏按钮是灰的,没法全屏啊,,,,,怎么弄

按 f11全屏

巴巴鲁 发表于 2020-9-19 18:09:42

好可爱的狗狗
炖了肯定很好吃吃{:10_256:}

def花 发表于 2020-9-19 18:11:37

巴巴鲁 发表于 2020-9-19 18:09
好可爱的狗狗
炖了肯定很好吃吃

{:9_224:}

def花 发表于 2020-9-19 18:16:15

我在网上看到说是因为:
win10把显示内容125%放大了

巴巴鲁 发表于 2020-9-19 18:17:38

def花 发表于 2020-9-19 18:11


我就凑个热闹,对初学者有点深奥

Twilight6 发表于 2020-9-19 18:55:05

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

对呀,默认是 125%,在个性化里面调成 100% 应该就没毛病了
页: [1]
查看完整版本: pygame全屏之后小狗跑出屏幕外了