pygame --- 可怜的小乌龟
2024-09-01 08:15:48
来于----@小甲鱼工作室
import pygame
import sys
from pygame.locals import *
#初始化
pygame.init() size = width,height=600,400 #设置背景的大小
speed = [-2,1] #设置图片移动的速度
bg=(255,255,255)
fullscreen = False #初始化全屏为False
screen = pygame.display.set_mode(size,RESIZABLE) #屏幕大小为最初设置的大小,并且屏幕的大小可以调整 pygame.display.set_caption("Hello") #屏幕的名称 turtle = pygame.image.load("1.jpg") #本地导入的图片名称 position = turtle.get_rect() #图片的位置
l_head = turtle
r_head = pygame.transform.flip(turtle,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: #图片的左右上下移动 我用的是上下左右,是米字形并且左右移动转换方向
turtle = l_head
speed = [-1,0]
speed = [-2,-1]
if event.key == K_RIGHT:
turtle = r_head
speed = [1,0]
speed = [2,1]
if event.key == K_UP:
#speed = [0,-1]
speed = [2,-1]
if event.key == K_DOWN:
#speed = [0,1]
speed = [-2,1]
if event.key == K_F11: #F11为设置屏幕全屏模式
fullscreen = not fullscreen
if fullscreen:
screen = pygame.display.set_mode((1024,768),FULLSCREEN|HWSURFACE)
width,height = 1024,768
else:
screen = pygame.display.set_mode(size) if event.type == VIDEORESIZE: #对屏幕进行大小的更改,并且输出当前调整的屏幕的大小,并且更新当前的screen的大小
size = event.size
width,height = size
print(size)
screen = pygame.display.set_mode(size,RESIZABLE) if position.bottom > height: #每当屏幕大小改变时对乌龟的位置进行修改,防止当屏幕缩小时,覆盖乌龟,乌龟不能动的时候
position.bottom = height
if position.right > width:
position.right = width
if position.top < 0:
position.top = 0
if position.left < 0:
position.left = 0
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) #设置当前的屏幕为初始的默认的bg的颜色 在内存中进行,当更新完毕之后通过更新显示
screen.blit(turtle,position) #将移动的Turtle镶嵌到屏幕中 在内存中进行,当更新完毕之后通过更新显示
pygame.display.flip() #屏幕进行更新
pygame.time.delay(10) #时延为10毫秒
# clock.tick(200)
最新文章
- linux split 及优化
- Git学习总结
- 关于arduino清空串口缓存(转)
- join和setdaemon()初探
- Go
- Javascript基础系列之(五)条件语句(比较操作符)
- JAVA 调用matlab 出错总结
- 关于JDK,tomcat,MyEclipse的配置
- php部分---对数据的多条件查询,批量删除
- 【软件多国语言】一个demo
- Fatjar成功安装记录
- sql语句:union
- QT实现TCP通信服务器端和客户端(支持多个客户端)精简版
- hdu--1018--Big Number(斯特林公式)
- nginx编译参数的内容
- wpf研究之道-ProgressBar(进度条)控件
- Spring AOP AspectJ
- 1.3WEB API 默认以json格式返回数据,同时定义时间格式,返回格式
- Oracle数据库中字符型字段按数字排序
- 整理python小爬虫