|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import pygame
- import sys
- from pygame.locals import * #将python所有的常量名导入
- pygame.init()
- size = width,height = 600,400
- speed = [-2,1]
- bg = (255,255,255)
- fullscreen = False
- clock = pygame.time.Clock()
- screen = pygame.display.set_mode(size,RESIZABLE)
- pygame.display.set_caption("控制移动")
- girl = pygame.image.load("1.png")
- position = girl.get_rect()
- l_head = girl #面向左
- r_head = pygame.transform.flip(girl,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:
- speed = [-1,0]
- girl = l_head
- if event.key == K_RIGHT:
- speed = [1,0]
- girl = r_head
- if event.key == K_UP:
- speed = [0,-1]
- if event.key == K_DOWN:
- speed = [0,1]
- #全屏(F11)
- if event.key == K_F11:
- fullscreen = not fullscreen
- if fullscreen:
- size1 = pygame.display.list_modes()
- width,height = size1[0]
- #position = girl.get_rect()
- screen = pygame.display.set_mode(size1[0],FULLSCREEN | HWSURFACE)
- else:
- size = width,height = 600,400
- position = girl.get_rect()
- screen = pygame.display.set_mode(size)
- if event.type == VIDEORESIZE:
- size = event.size
- width,height = size
- screen = pygame.display.set_mode(size,RESIZABLE)
- position = position.move(speed)
- #print("%d\t%d" % (position[0],position[1]))
- #图片尺寸50*69
- if position[0] > width -48:
- position[0] = width - 50
- if position[1] > height -67:
- position[1] = height - 69
- if position.left < 0 or position.right >width:
- girl = pygame.transform.flip(girl,True,False)
- speed[0] = -speed[0]
- if position.top < 0 or position.bottom > height:
- speed[1] = -speed[1]
- screen.fill(bg)
- screen.blit(girl,position)
- pygame.display.flip()
- clock.tick(200)
复制代码
代码加了窗口可变功能后,按F11键全屏会有bug,按F11窗口的左、上边位置不变,屏幕左边和上边就有一条缝隙可以看见桌面 |
|