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 史上最全,没有之一. ...
随机推荐
- localStorage/sessionStorage/cookie
html5本地存储主要有两种localStorage和sessionStorage 都是使用相同api,存入后都是字符串类型 localStorage和sessionStorage使用方 ...
- linux 中sed命令如何删除第一列和最后一列
删除第一列 (base) root@PC1:/home/test# cat test.txt1 MIR1302-10 12 FAM138A 23 OR4F5 34 RP11-34P13.7 45 RP ...
- ResponseUtil 请求返回
package com.infosec.sso.common; import java.io.IOException; import java.util.HashMap; import java.ut ...
- 数据脱敏java代码
//前prefix后suffix脱敏 public static String idEncrypt(String number ,Integer prefix, Integer suffix) { i ...
- JAVA XML转对象
最近遇到XML转对象进行业务操作的问题 这是我需要解析的XML 1,建XML对应自己需要参数的Bean.有的很长很乱,没必要全部建,只建自己需要的就行了 import lombok.Data; imp ...
- Hbase安装(简)
1.下载hbase到服务器,解压移动到/usr/local/下 2.更改vim hbase-env.sh加入java工作目录 export JAVA_HOME=/usr/lib/jvm/java-1. ...
- 创建一个简单的signalr项目
1:新建一个empty的MVC项目 2:如果没有安装过signalr过那么要通过Nuget安装signalr 3:新建一个controller 然后建一个view =>index 4:新建一个s ...
- luogu 4142
费用流好题 本题的建图很有意思 正常我们看到棋盘问题应该先对整个棋盘黑白染色构成一个二分图,然后再考虑建图的问题 但是本题题目中已经明确区分了不同的斜线,问题在于怎么保证一个"L" ...
- 5.26 学习SSH
1.ssh客户端是一种使用Secure Shell协议 连接到运行了ssh服务端的远程服务器上 ssh是比较可靠的,专为远程登录会话和其他网络服务提供安全性的协议 2.
- AutoCAD_2020_Simplified_Chinese_Win_64bit_dlm
「AutoCAD_2020_Simplified_Chinese_Win_64bit_dlm」https://www.aliyundrive.com/s/zN8zAGgXZ58 点击链接保存,或者复制 ...