pygame绘制简单游戏——壁球(图像型,节奏型)
壁球v1.1图像型
新增的代码
BLACK = 0, 0, 0
定义一个颜色,rgb的颜色机制,分别是红,绿,蓝,三个0表示黑色
pygame.image.load("F:\python\壁球项目\image\球.png")
添加图片,当只使用球.png导入的时候报错时,可以使用完整路径,这样这张图片一定可以被导入进去
import pygame, syspygame.init()
size = width, height = 600, 400
speed = [1, 1]
BLACK = 0, 0, 0screen = pygame.display.set_mode(size)
pygame.display.set_caption("Pygame壁球")ball = pygame.image.load("F:\python\壁球项目\image\球.png")
ballrect = ball.get_rect()while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()ballrect = ballrect.move(speed[0], speed[1])#设置图像移动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(BLACK)#设置填充,我们使用的是一个包括图片的矩形区域在移动,#实际上就是给图片和矩形之间填充为黑色,这样可以“骗过”我们的眼睛screen.blit(ball, ballrect)pygame.display.update()
在上述代码当中我们发现球的速度太快,有一点晃的眼睛痛,怎么调慢呢?
壁球v1.2节奏型
新增代码
fps = 300
fclock = pygame.time.Clock()fclock.tick(fps)
定义一个fps表示运动帧率,
pygame.time.Clock(): 在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。
实际上来说就是给这一个程序的持续刷新加上300毫秒,间接的表示将速度减慢
import pygame, syspygame.init()
size = width, height = 600, 400
speed = [1, 1]
BLACK = 0, 0, 0screen = pygame.display.set_mode(size)
pygame.display.set_caption("Pygame壁球")
ball = pygame.image.load("F:\python\壁球项目\image\球.png")ballrect = ball.get_rect()
fps = 300
fclock = pygame.time.Clock()while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()ballrect = ballrect.move(speed[0], speed[1])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(BLACK)screen.blit(ball, ballrect)pygame.display.update()fclock.tick(fps)
后续继续的修改与优化:参考此博文
pygame绘制简单游戏——壁球(图像型,节奏型)相关推荐
- 【pygame学习_3】变节奏型壁球运动
# Unit PYG02: Pygame Wall Ball Game version 2 节奏型 import pygame,syspygame.init() size = width, heigh ...
- pygame壁球游戏之节奏型操控型
此博客内容源于mooc北京理工大学python游戏开发入门课程及本人思考. 在不进行速度限制的情况下,程序中的while循环会以CPU的最大能力进行循环.所以要使while循环速度减慢,就需要在代码中 ...
- pythonturtle画飞机_浅谈pygame编写外星人入侵游戏第一步(屏幕上绘制飞机)......
本人小白 刚开始学习python半月,到目前将python基础语法跑了一遍,不算透彻,只是有一些映像...... 于是学着做外星人入侵游戏,想从项目中深度学习,直接上目前的效果图: --------- ...
- 用Python3和Pygame实现简单的开心消消乐游戏
用Python3和Pygame实现简单的开心消消乐游戏 项目简介 项目思路 现存Bug 项目截图 项目简介 项目Git:https://github.com/Accright/py-icehappy. ...
- 基于Java的Minecraft游戏后端自定义插件 06绘制简单粒子特效与BukkitRunable定时器
绘制简单粒子特效与BukkitRunable定时器 粒子特效 多线程BukkitRunable 粒子特效 利用定时器来设定特效出现是否延迟,以及周期频率 奖励特效一: VexLighting 在玩家处 ...
- 【Python】Pygame模块设计游戏
Pygame是一个跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚. Pygame的历史 Pygame是一 ...
- C#之基于winform窗体绘制简单图形
什么是窗体? 可以理解为是一个自定义的控制台应用程序. 假如需要仅仅是用vs制作游戏的话,那么vs中,我们平时所用到的控制台应用程序所呈现的窗口时远远不够用的.因此需要自定义窗体. 因此在新建项目时, ...
- 你还在打王者荣耀吗?用pygame写个游戏自己玩吧!
pygame 第一个pygame程序 第一步,先不看player类,先导入模块 第二步,初始化 第三步,设置窗体大小 第四步,设置标题 第五步,设置背景图 第六步,帧率设置 第七步,游戏循环 第九步, ...
- C++小白如何做简单游戏
相信大家一定有很多小白,那么你们一定为怎么做游戏困扰吧,今天,我就教大家怎样简单地实现移动吧! 首先,我们的代码里没有像类这样看起来很高级的东东,而且,我们的头文件一定要有iostream和cstdi ...
最新文章
- 《一本书读懂法律常识》笔记
- 上传文件白名单_十大常见web漏洞——文件上传漏洞
- 安装版本swf文件转换其他视频格式工具(例:swf to mp4) ,转换后的视频无水印...
- 《深入剖析Tomcat》源码
- PHP如何关闭notice级别的错误提示
- 奇怪的规律:飞机事故总是凑在一段时间内
- 在Matplotlib图中插入LaTex公式
- [转载] 七龙珠第一部——第114话 悟空的愿望 卡林大人好为难
- 关于抓包软件Fiddler的简单汉化
- JMeter之Ramp-up Period(in seconds)说明
- 开发了一款开虚拟店通过百度网盘卖成千上万本电子书虚拟商品自动发货机器人软件助手
- 南京邮电大学网络攻防训练平台-逆向-Py交易
- 不会吧,难道真的有程序员不知道怎么接单赚钱吗?
- photoshop 去掉背景
- CE自动汇编之AOB注入
- php md5算法,php如何实现md5算法?
- 微信小程序input调用数字键盘没有小数点
- 【meshlab使用指南】06、Select Faces/Vertices inside polyline area功能不能选中点/面
- GBase 8c 权限说明
- python3 列表生成式,字典生成式,generator列表生成器的应用
热门文章
- android开发怎么调用api
- 计算机控制技术课程教学设计(10个)
- 【笨木头Cocos2d-x 042】一个函供应多个菜单回调——UserObject自定义数据
- 如何清理台式计算机内存,如何清理电脑运行内存_电脑运行内存不足怎么解决-win7之家...
- 元宇宙将如何重塑摄影艺术?
- 如何帮助企业员工快速成长?不少企业是这样做的
- Xilinx 8B10B转换
- limma差异分析谁比谁不重要
- java最新手机号正则校验
- 《Long-term Recurrent Convolutional Networks for Visual Recognition and Description》论文翻译