pygame (1) 移动小乌龟
小乌龟图片素材:

第一个简单的小游戏:
小乌龟会不断的移动,并且每当到达窗口的左右边界的时候,还会自动的掉头。
源码:
import pygame
import sys# 导入sys模块,退出时使用
pygame.init()# 初始化Pygame
size = width, height = 600, 400
speed = [-2, 1]
bg = (255, 255, 255) # RGB,这里是白色背景
screen = pygame.display.set_mode(size)# 创建指定大小的窗口 Surface
pygame.display.set_caption("初次见面,请大家多多关照!")# 设置窗口标题
turtle = pygame.image.load("turtle.png")# 加载图片
position = turtle.get_rect()#get_rect() 获得图像的位置矩形
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:#退出事件
sys.exit()
position = position.move(speed)# 移动图像
if position.left < 0 or position.right > width: # 翻转图像
turtle = pygame.transform.flip(turtle, True, False)
# 反方向移动,flip()第一个参数是反转对象,第二个是水平翻转,第三个是垂直翻转
speed[0] = -speed[0]
if position.top < 0 or position.bottom > height:
speed[1] = -speed[1]
screen.fill(bg)# 填充背景
screen.blit(turtle, position)# 更新图像
#blit()方法是将一个surface放到另外一个surface对象上
pygame.display.flip() # 更新界面
pygame.time.delay(10) # 延迟10毫秒
pygame (1) 移动小乌龟的更多相关文章
- pygame --- 可怜的小乌龟
来于----@小甲鱼工作室 import pygame import sys from pygame.locals import * #初始化 pygame.init() size = width,h ...
- 从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 ...
随机推荐
- Elastix 2.4 双服务器热备搭建文档
一. 背景知识 本文档将会用到以下两个重要的组件: a) DRBD DRBD的全称为:Distributed Replicated Block Device,意为分布式块设备复制, D ...
- Linux下onvif客户端获取ipc摄像头 GetProfiles:获取h265媒体信息文件
GetProfiles:获取媒体信息文件 鉴权:但是在使用这个接口之前是需要鉴权的.ONVIF协议规定,部分接口需要鉴权,部分接口不需要鉴权,在调用需要鉴权的接口时不使用鉴权,会导致接口调用失败.实现 ...
- 解决 Cydia 源显示空白的问题
打开 Cydia 所有源都显示空白,没有任何插件,已安装的列表也显示空白,解决方法是下载 var.lib_tar 包 下载链接: https://pan.baidu.com/s/1jzJ8KehoBo ...
- PHP字符转码
最近手里面有一个新的项目,下载的程序用的是 gbk, 可是我需要UTF8的格式,因为只有这个的格式才可以加入百度的MIP项目. 来此学习了解php编码的一些内容,还请多多指教.
- Flash的swf文件破解
1.准备好flash文件,xxx.swf(后缀为swf),将其重构swf文件为fla源文件. 2.asv软件(5以上版本)的操作 1.点击左上角 文件 --> 打开 --> 运行已准备好的 ...
- C语言可变参数函数详解示例
先看代码 printf(“hello,world!”);其参数个数为1个. printf(“a=%d,b=%s,c=%c”,a,b,c);其参数个数为4个. 如何编写可变参数函数呢?我们首先来看看pr ...
- angularjs与vue循环数组对象是区别
一直都觉得angularjs和vue是想类似的,今天在限制加载的数据条数时发现 其不同,话不多说,直接看代码: 1.angularjs <li ng-repeat="item in d ...
- 20155217 2016-2017-2 《Java程序设计》第10周学习总结
20155217 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 程序员所作的事情 ...
- 20155322 2016-2017-2 《Java程序设计》实验二《Java面向对象程序设计》
20155322 2016-2017-2 <Java程序设计>实验二<Java面向对象程序设计> 实验目的与内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承 ...
- Qt 信号槽传递自定义结构体
Qt 在信号和槽中使用自己定义的结构体