pygame --- 可怜的小乌龟
来于----@小甲鱼工作室
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)

pygame --- 可怜的小乌龟的更多相关文章
- pygame (1) 移动小乌龟
小乌龟图片素材: 第一个简单的小游戏: 小乌龟会不断的移动,并且每当到达窗口的左右边界的时候,还会自动的掉头. 源码: import pygame import sys# 导入sys模块,退出时使用 ...
- 从Scratch到Python——python turtle 一种比pygame更加简洁的实现
从Scratch到Python--python turtle 一种比pygame更加简洁的实现 现在很多学校都开设了Scratch课程,学生可以利用Scratch创作丰富的作品,然而Scratch之后 ...
- 让小乌龟可以唱歌——对Python turtle进行拓展
在Scratch中,小猫是可以唱歌的,而且Scratch的声音木块有着丰富的功能,在这方面Python turtle略有欠缺,今天我们就来完善一下. Python声音模块 Python处理声音的模块很 ...
- Python Pygame (4) 图像的变换
Pygame中的transform模块可以使得你能够对图像(也就是Surface对象)做各种动作,列如左右上下翻转,按角度转动,放大缩小......,并返回Surface对象.这里列举了transfo ...
- Python Pygame (2) 事件
程序在运行期间会产生许许多多的事件,事件随时可能发生(如移动鼠标,点击鼠标,敲击键盘按键),Pygame的做法是将所有的事件都放到事件队列里,通过for循环语句迭代取出每一条事件,然后处理关注的事件即 ...
- pygame---制作一只会转弯的小乌龟
Pygame Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚. 包含图像.声音. 建立在S ...
- pygame学习笔记
pygame参考文档pdf版:pygame API html版 pygame API 石头剪子布的简单小游戏,待改进的地方,自适应大小.感兴趣的小伙伴可以依据get_surface()返回值(即当前窗 ...
- centos上安装pygame
安装前依赖包检查及安装 python-devel SDL_image-devel SDL_mixer-devel SDL_ttf-devel SDL-devel numpy subversion po ...
- pygame开发PC端微信打飞机游戏
pygame开发PC端微信打飞机游戏 一.项目简介 1. 介绍 本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件gam ...
随机推荐
- POJ 2186 Popular Cows(强联通+缩点)
Description Every cow's dream is to become the most popular cow in the herd. In a herd of N (1 <= ...
- lintcode-125-背包问题 II
125-背包问题 II 给出n个物品的体积A[i]和其价值V[i],将他们装入一个大小为m的背包,最多能装入的总价值有多大? 注意事项 A[i], V[i], n, m均为整数.你不能将物品进行切分. ...
- WebStorm中配置ExtJS
原文链接:http://zhidao.baidu.com/link?url=yX0wDWrL-b2P8k3JNNI38Fb6keuAgm0j9E-QBL1KfWXrZgLZ88grAOVJvat6dJ ...
- 【Linux】如何设置Linux开机 ,默认进入图形界面或命令行界面?
原创链接: https://blog.csdn.net/prophet10086/article/details/78501019 [7版本] 在root用户权限下: 查看当前启动模式 systemc ...
- 【python】Python3中出现'gbk' codec can't encode characte的成功解决方法?
亲身测试,所遇问题完全解决!2018/07/08 21:37 环境:windows,Pycharm,python3.6.2 使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情 ...
- 201621044079 week05-继承、多态、抽象类与接口
作业05-继承.多态.抽象类与接口 1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口 interface关键字 implements has-a;comparable co ...
- Node js 安装+回调函数+事件
/* 从网站 https://nodejs.org/zh-cn/ 下载 这里用的 9.4.0 版本 下载完安装 安装目录是 D:\ApacheServer\node 一路默认安装 安装后打开cmd命令 ...
- Java中WeakHashMap实现原理深究
一.前言 我发现Java很多开源框架都使用了WeakHashMap,刚开始没怎么去注意,只知道它里面存储的值会随时间的推移慢慢减少(在 WeakHashMap 中,当某个“弱键”不再正常使用时,会被从 ...
- 【bzoj3000】Big Number 数论
题目描述 给你两个整数N和K,要求你输出N!的K进制的位数. 输入 有多组输入数据,每组输入数据各一行,每行两个数——N,K 输出 每行一个数为输出结果. 样例输入 2 5 2 10 10 10 10 ...
- BZOJ4320 ShangHai2006 Homework(分块+并查集)
考虑根号分块.对于<√3e5的模数,每加入一个数就暴力更新最小值:对于>√3e5的模数,由于最多被分成√3e5块,查询时对每一块找最小值,这用一些正常的DS显然可以做到log,但不太跑得过 ...