来于----@小甲鱼工作室

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)

最新文章

  1. linux split 及优化
  2. Git学习总结
  3. 关于arduino清空串口缓存(转)
  4. join和setdaemon()初探
  5. Go
  6. Javascript基础系列之(五)条件语句(比较操作符)
  7. JAVA 调用matlab 出错总结
  8. 关于JDK,tomcat,MyEclipse的配置
  9. php部分---对数据的多条件查询,批量删除
  10. 【软件多国语言】一个demo
  11. Fatjar成功安装记录
  12. sql语句:union
  13. QT实现TCP通信服务器端和客户端(支持多个客户端)精简版
  14. hdu--1018--Big Number(斯特林公式)
  15. nginx编译参数的内容
  16. wpf研究之道-ProgressBar(进度条)控件
  17. Spring AOP AspectJ
  18. 1.3WEB API 默认以json格式返回数据,同时定义时间格式,返回格式
  19. Oracle数据库中字符型字段按数字排序
  20. 整理python小爬虫

热门文章

  1. PHP中的6种加密方式
  2. 浅谈c语言和c++中struct的区别
  3. Java 中的异常和处理详解(转载)
  4. ui-grid下拉过滤
  5. Struts1之html标签
  6. 更换Sublime Text主题字体
  7. [洛谷P1361]小M的作物
  8. 算法学习——st表
  9. 洛谷 P1502 窗口的星星 解题报告
  10. 获取本地ip地址 C#