Python 跳动的小球
一、实验内容:跳动的小球游戏介绍
二、实验对象:《零基础学Python》第13章 Pygame游戏编程 实例01
用以下代码创建一个游戏弹窗:
导入pygame模块并且用init()方法初始化,设置窗口的宽和高,使用display模块显示窗体。
点击查看代码
import sys
import pygame
pygame.init()
size=width,height=640,480 #初始化pygame
screen=pygame.display.set_mode(size)
使用pygameevent.get()获取事件队列,用for...in遍历事件,type属性判断事件类型.
点击查看代码
for event in pygame.event.get():
if event.type == pygame.QUIT:
使用image模块的load()方法加载图片,在窗口中添加小球的代码如下:
点击查看代码
ball=pygame.image.load("ball.png")
ballrect=ball.get_rect()
...
screen.blit(ball,ballrect) #将图片画到窗口上
将move()函数添加到while循坏内,实现小球不停地移动:
点击查看代码
while True:
clock.tick(60)
#检查事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
ballrect = ballrect.move(speed)
添加碰撞检测的功能和“时钟”,“时钟”是为了控制程序运行的时间,整个小游戏的完整代码以及运行结果如下:
点击查看代码
#-*- coding:utf-8-*-
import sys
import pygame
pygame.init()
size=width,height=640,480 #初始化pygame
screen=pygame.display.set_mode(size)
color=(0,0,0) #设置颜色
ball=pygame.image.load("ball.png")
ballrect=ball.get_rect()
speed=[5,5]
clock=pygame.time.Clock() #设置时钟
#执行死循环,确保窗口一直显示
while True:
clock.tick(60)
#检查事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
ballrect = ballrect.move(speed)
#碰到左右边缘
if ballrect.left < 0 or ballrect.right > width:
speed[0]=-speed[0]
#碰到上下边缘
if ballrect.top < 0 or ballrect.bottom > height:
speed[1]=-speed[1]
screen.fill(color) #填充颜色
screen.blit(ball,ballrect) #将图片画到窗口上
pygame.display.flip() #更新全部显示

Python 跳动的小球的更多相关文章
- python开发_tkinter_小球完全弹性碰撞游戏
python开发_tkinter_小球完全弹性碰撞游戏 完成这个小球的完全弹性碰撞游戏灵感来自于: 下面是我花了一周下班时间所编写的一个小球完全弹性碰撞游戏: 游戏初始化状态: 最下面的游标和修改 ...
- python开发_tkinter_小球完全弹性碰撞游戏_源码下载
完成这个小球的完全弹性碰撞游戏灵感来自于: 下面是我花了一周下班时间所编写的一个小球完全弹性碰撞游戏: 游戏初始化状态: 最下面的游标和修改小球的移动速度 ====================== ...
- HTML5CSS3特效-上下跳动的小球-遁地龙卷风
(-1)写在前面 我用的是chrome49,这个idea是我在stackoverflow上回答问题时看到了,多谢这位同行,加深了我对很多技术点的理解,最近刚到北京,忙碌了一两天,在后续的日子里,会被安 ...
- 《p5.js创意游戏编程》第一课:跳动的小球
准备:Hbuilder/vscode等可以编写网页的编辑器 如果想立刻上手也可以使用在线编译器p5.js官方在线编辑器,如果打不开也可以使用国内的一款在线编辑器jsrun编辑器,(第一课先使用jsru ...
- 纯CSS3实现3D跳动小球
请使用Chrome,火狐的浏览器查看本页面,使用IE将看不到效果.如果在本页看不到一个跳动的小球,请确定您的浏览器支持CSS3,或者访问http://keleyi.com/a/bjac/iphgrtq ...
- pygame系列_小球完全弹性碰撞游戏_源码下载
之前做了一个基于python的tkinter的小球完全碰撞游戏: python开发_tkinter_小球完全弹性碰撞游戏_源码下载 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名 ...
- python学习两月总结_汇总大牛们的思想_值得收藏
下面是我汇总的我学习两个月python(version:3.3.2)的所有笔记 你可以访问:http://www.python.org获取更多信息 你也可以访问:http://www.cnblogs. ...
- >炫酷的计时器效果Canvas绘图与动画<
>炫丽的计时器效果Canvas绘图与动画< 虽然我是学习java的,但是因为最近使用html5的关系,多学习了一下前端知识. 现在,我要介绍的计时器是十分炫酷的,使用画布完成. 喜欢htm ...
- 难得一见的HTML5动画欣赏及源码下载
今天要给大家分享一些很酷的HTML5动画演示,并且提供源代码的下载.大部分HTML5动画都是通过canvas实现,当然也有基于SVG的,尤其是第一个,看起来很简单,但是创意却不错. 1.HTML5梦幻 ...
- Creator开源游戏、插件、教程、视频汇总
Creator开源游戏.插件.教程.视频汇总 来源 http://forum.cocos.com/t/creator/44782 王哲首席客服 17-03-17 4 史上最全,没有之一. ...
随机推荐
- LeetCode 29. 两数相除 时间击败【100.00%】 内存击败【76.25%】
不禁让我想起了计算机是怎样进行除法运算的,单独考虑溢出以及边界情况,单独考虑符号,其他过程和我们小学除法是一模一样的:左移除数(十进制就是扩大十倍,二进制扩大两倍),直到正好比被除数小,一边累加商(在 ...
- JS根据分数,计算名次(分数相同名次相同)
一开始的接口返回数据(数据已经拍好顺序,但是分数相同名次不同),如果数据未排序,先用sort排序,由大到小 分数相同名次相同,则需要以下操作即可 let prescore = 0;//初始分数 let ...
- linux 设置开机自动挂载文件系统
一./etc/ 下增加rc.local文件(ubuntu默认没有这个文件) kuaibang@face:~$ sudo touch rc.local 二.安装NFS客户端 a.如果您使用CentOS. ...
- jquery 页面追加换行等等操作备份
var str= "a<br/>b<br/>c<br/>"; var Newstr = str.replace("<br/> ...
- 机器学习之pandas介绍
pandas简介 pandas全称python Data Analysis Library,是基于numpy的一种工具,pandas纳入了大量库和一些标准的数据模型,提供了高效的操作大型数据集所需的工 ...
- CSR,SSR,PreRender原理解密
CSR.SSR.Prerender 原理全解密 做前端的同学们肯定或多或少听说过CSR,SSR,Prerender这些名词,但是大多肯定只是停留在听说过,了解过,略懂一点,但是,你真的理解这些技术 ...
- AVD文件转移到非系统盘
AVD文件默认是生成在C:\Users\用户名\.android\avd目录下面的,而AVD文件非常大,可以用下面的方法将AVD文件转移到其他盘中. 1. 将每个模拟器对应的***.avd文件夹的内容 ...
- Linux 获取内网IP地址脚本
IP=$( /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr: ...
- 通过Windows定时任务执行Python脚本给钉钉群发送消息
前提:已经存在有成功发送钉钉群机器人消息的python脚本,参考上一篇Python调用钉钉群机器人发送群消息 Windows定时任务设置 1.本机是Win7系统:控制面板->系统和安全-> ...
- Shell脚本基本命令4
使用join连接字段 1.$ cat >sales 创建salse文件 #业务员数据 注释说明 #业务员量 joe 100 jane 200 herman 150 chris 300 2.$ ...