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 史上最全,没有之一. ...
随机推荐
- c#获取当前进程使用内存
public static string GetMemory() { Process proc = Process.GetCurrentProcess(); ...
- hashMap 获取里面value最大的值得key
public static void main(String[] args) { Map<String, Integer> map = new HashMap(); map.put(&qu ...
- code的用法
今天写程序的时候用了const,想到之前遇到的code的用法,那是第一次遇到code的那样的用法,查了一下,解释如下: 在单片机使用C语言进行编程的时候,经常使用到code.code是keil C51 ...
- Assetbundle 打包加载场景
public class CreateAssetBundle : Editor{ // 打包unity场景文件 [MenuItem("Assets/Build AssetBundle Sce ...
- 那些年vue踩过的坑v-if渲染完dom重新渲染 获取dom问题
当查询完成是 加载chart图了, 因为 上面的 div 是v-if 还没来得级渲染 所以获取下面chart div 时 没有dom元素 报错了
- WindowsServer2012搭建FTP服务器站点
公司需要搭建一个FTP服务器给银行推送账单,这个文章整理的比较详细,可以参考 数据来源: https://blog.csdn.net/u010483330/article/details/125931 ...
- ubuntu 20.04 基于kubeadm部署kubernetes 1.22.4集群及部署集群管理工具
一.环境准备: 集群版本:kubernetes 1.22.4 服务器系统 节点IP 节点类型 服务器-内存/CUP hostname Ubuntu 20.04 192.168.1.101 主节点 2G ...
- promethus+grafana监控
1.监控 MySQL (终端可以安装在任意主机,不一定按在mysql节点上,注:mysql版本需在5.5以上) I.首先在mysql中添加监控使用的用户: create user 'exp'@'%' ...
- linux格式化文件命令
一些文件被windows打开后代码格式会被改变,使用一下命令来转换 sed -i 's/\r//' filename
- openpyxl-使用API总结
import openpyxlfrom openpyxl.comments import Comment from openpyxl.styles import Font, Alignment, Bo ...