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 ...
随机推荐
- oracle补充
索引 索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据的I/O次数,因此可以显著的提高性能 创建索引的SQL 把下面表中的na ...
- 当xml结构很深时候 可以通过父节点删除子元素
当xml结构很深时候 可以通过父节点删除子元素
- 【算法】分块——教主的魔法&不勤劳的图书管理员
由不勤劳的图书管理员带入了分块的坑,深深地被其暴力与优雅所征服.分块的实质就是将暴力块状封装起来,一整块的部分就一整块处理,零碎的部分就怎么暴力怎么来.因为分块大小的原因,限制了零碎部分数据的数量级, ...
- [洛谷P2711]小行星
题目大意:有$n$颗行星,每颗行星的位置是$(x,y,z)$.每次可以消除一个面(即$x,y$或$z$坐标相等)的行星,求消除这些行星的最少次数. 题解:最小割,对于每一颗小行星,从 x 面的出点向 ...
- [51nod1482]部落信号 单调栈
~~~题面~~~ 题解: 可以发现这是一道单调栈的题目,首先来考虑数字没有重复时如何统计贡献. 因为这是一个环,而如果我们从最高的点把环断开,并把最高点放在链的最后面(顺时针移动),那么因为在最高点两 ...
- [Leetcode] Balanced binary tree平衡二叉树
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- Ubuntu下安装LNMP之php7的安装并配置Nginx支持php及卸载php
据了解,php7是比之前的版本性能快很多的.http://php.net/get/php-7.2.2.tar.gz/from/a/mirror 安装前也可提前将相关依赖库安装好,或者在安装php时若安 ...
- WCF分布式开发步步为赢(12):WCF事务机制(Transaction)和分布式事务编程
今天我们继续学习WCF分布式开发步步为赢系列的12节:WCF事务机制(Transaction)和分布式事务编程.众所周知,应用系统开发过程中,事务是一个重要的概念.它是保证数据与服务可靠性的重要机制. ...
- BZOJ1051:受欢迎的牛(并查集 / Tarjan)
1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 8161 Solved: 4460 Description ...
- dbcp基本配置和重连配置
转载自:http://agapple.iteye.com/blog/772507 最近在看一些dbcp的相关内容,顺便做一下记录,免得自己给忘记了. 1. 引入dbcp (选择1.4) Java代码 ...