- Python
Pygame 第四课 -背景和全屏
- 2024-3-30 19:06:06 @
加载背景
import sys
import pygame
from pygame.locals import *
pygame.init() # 初始化pygame模块
WIDTH = 1024 # 定义游戏窗口的宽
HEIGHT = 600 # 定义游戏窗口的高
FPS = 60
SCREEN_SIZE = (WIDTH, HEIGHT) # 定义一个元组
screen = pygame.display.set_mode(SCREEN_SIZE) # 初始化一个显示画面的窗口
pygame.display.set_caption("Mypygame") # 设置标题
bg = pygame.image.load("./PNG/Background.png").convert() # 加载背景图片
fish = pygame.image.load("./PNG/Guppy3.png").convert_alpha() # 加载一张图片 ./ 表示当前目录
pos = fish.get_rect() # 获取图片的坐标
# speed = [1, 1] # 设定速度,分别是x方向和y方向
speed = 5
clock = pygame.time.Clock()
while True: # 游戏主循环
clock.tick(FPS)
for event in pygame.event.get(): # 获取事件
if event.type == QUIT: # 退出
pygame.quit() # 退出pygame模块
sys.exit() # 退出系统
key = pygame.key.get_pressed() # 获取键盘状态
if key[K_UP] and pos.top > 0: # 如果方向键 上 按下,并且角色没有超过上边界
pos.y -= speed # 向上移动一个速度的值
if key[K_DOWN] and pos.bottom < HEIGHT:
pos.y += speed
if key[K_LEFT] and pos.left > 0:
pos.x -= speed
if key[K_RIGHT] and pos.right < WIDTH:
pos.x += speed
# screen.fill(blue) # 用纯色填充窗口
screen.blit(bg, (0,0))
screen.blit(fish, pos) # 绘制图像
pygame.display.update() # 更新窗口画面显示
全屏设置
import sys
import pygame
from pygame.locals import *
pygame.init() # 初始化pygame模块
WIDTH = 1024 # 定义游戏窗口的宽
HEIGHT = 600 # 定义游戏窗口的高
FPS = 60
SCREEN_SIZE = (WIDTH, HEIGHT) # 定义一个元组
mode_list = pygame.display.list_modes() # 获取电脑支持的全屏分辨率
SCREEN_FULL = mode_list[0] # 得到最大的分辨率
fullscreen = False # # 全屏标志
screen = pygame.display.set_mode(SCREEN_SIZE) # 初始化一个显示画面的窗口
pygame.display.set_caption("Mypygame") # 设置标题
bg_window = pygame.image.load("./PNG/Background.png").convert() # 加载背景图片
bg_full = pygame.transform.scale(bg_window, SCREEN_FULL) # 对背景进行放大
bg = bg_window # 默认背景为bg_window
fish = pygame.image.load("./PNG/Guppy3.png").convert_alpha() # 加载一张图片 ./ 表示当前目录
pos = fish.get_rect() # 获取图片的坐标
# speed = [1, 1] # 设定速度,分别是x方向和y方向
speed = 5
clock = pygame.time.Clock()
while True: # 游戏主循环
clock.tick(FPS)
for event in pygame.event.get(): # 获取事件
if event.type == QUIT: # 退出
pygame.quit() # 退出pygame模块
sys.exit() # 退出系统
if event.type == KEYDOWN:
if event.key == K_F11: # 按F11切换全屏
fullscreen = not fullscreen
if fullscreen:
screen = pygame.display.set_mode(SCREEN_FULL, FULLSCREEN | HWSURFACE)
WIDTH, HEIGHT = SCREEN_FULL
bg = bg_full # 设置背景为bg_full
else:
screen = pygame.display.set_mode(SCREEN_SIZE)
WIDTH, HEIGHT = SCREEN_SIZE
bg = bg_window # 设置背景为bg_window
key = pygame.key.get_pressed() # 获取键盘状态
if key[K_UP] and pos.top > 0: # 如果方向键 上 按下,并且角色没有超过上边界
pos.y -= speed # 向上移动一个速度的值
if key[K_DOWN] and pos.bottom < HEIGHT:
pos.y += speed
if key[K_LEFT] and pos.left > 0:
pos.x -= speed
if key[K_RIGHT] and pos.right < WIDTH:
pos.x += speed
# screen.fill(blue) # 用纯色填充窗口
screen.blit(bg, (0,0))
screen.blit(fish, pos) # 绘制图像
pygame.display.update() # 更新窗口画面显示
放大角色
import sys
import pygame
from pygame.locals import *
pygame.init() # 初始化pygame模块
WIDTH = 1024 # 定义游戏窗口的宽
HEIGHT = 600 # 定义游戏窗口的高
FPS = 60
SCREEN_SIZE = (WIDTH, HEIGHT) # 定义一个元组
mode_list = pygame.display.list_modes() # 获取电脑支持的全屏分辨率
SCREEN_FULL = mode_list[0] # 得到最大的分辨率
fullscreen = False # # 全屏标志
screen = pygame.display.set_mode(SCREEN_SIZE) # 初始化一个显示画面的窗口
pygame.display.set_caption("Mypygame") # 设置标题
bg_window = pygame.image.load("./PNG/Background.png").convert() # 加载背景图片
bg_full = pygame.transform.scale(bg_window, SCREEN_FULL) # 对背景进行放大
bg = bg_window # 默认背景为bg_window
fish1 = pygame.image.load("./PNG/Guppy3.png").convert_alpha() # 加载一张图片 ./ 表示当前目录
fish2 = pygame.transform.scale(fish1, [fish1.get_width()*2,fish1.get_height()*4])
fishdx = False
fish = fish1
pos = fish.get_rect() # 获取图片的坐标
# speed = [1, 1] # 设定速度,分别是x方向和y方向
speed = 5
clock = pygame.time.Clock()
while True: # 游戏主循环
clock.tick(FPS)
for event in pygame.event.get(): # 获取事件
if event.type == QUIT: # 退出
pygame.quit() # 退出pygame模块
sys.exit() # 退出系统
if event.type == KEYDOWN:
if event.key == K_F11: # 按F11切换全屏
fullscreen = not fullscreen
if fullscreen:
screen = pygame.display.set_mode(SCREEN_FULL, FULLSCREEN | HWSURFACE)
WIDTH, HEIGHT = SCREEN_FULL
bg = bg_full # 设置背景为bg_full
else:
screen = pygame.display.set_mode(SCREEN_SIZE)
WIDTH, HEIGHT = SCREEN_SIZE
bg = bg_window # 设置背景为bg_window
if event.type == KEYDOWN:
if event.key == K_j: # 按F11切换全屏
# fishdx = not fishdx
# if fishdx:
# fish = fish2
# else:
# fish = fish1
fish = pygame.transform.scale(fish, [fish.get_width()*1.1,fish.get_height()*1.1])
key = pygame.key.get_pressed() # 获取键盘状态
if key[K_UP] and pos.top > 0: # 如果方向键 上 按下,并且角色没有超过上边界
pos.y -= speed # 向上移动一个速度的值
if key[K_DOWN] and pos.bottom < HEIGHT:
pos.y += speed
if key[K_LEFT] and pos.left > 0:
pos.x -= speed
if key[K_RIGHT] and pos.right < WIDTH:
pos.x += speed
# screen.fill(blue) # 用纯色填充窗口
screen.blit(bg, (0,0))
screen.blit(fish, pos) # 绘制图像
pygame.display.update() # 更新窗口画面显示
0 条评论
目前还没有评论...