使用 Python Kivy 开发 APP 之:创建一个小游戏玩玩

本文介绍了如何使用KivyPython库开发一个基础游戏,包括添加组件、UI设计、动画、碰撞检测和记分系统,通过实例演示了如何创建并运行一个简单的触摸游戏。
摘要由CSDN通过智能技术生成

什么是 Kivy 呢

简单点说它就是一个 Python 库

你可以使用它开发 APP

像你常看到的用户界面程序

多点触控程序

都可以使用它来实现

而且

在不同的操作系统中的APP

都可以使用它来实现

刚好有 b 友问起

“怎么玩呢”

那么接下来就是

学习 Python 的正确姿势

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(此处应该刷一波:爷青回

今天

咱们来玩下官方的一个小例子

使用 Kivy 创建一个游戏

在你的项目中

创建一个 main.py

然后导入 Kivy

创建一个 App 实例

这样就是最简单的使用

不过现在运行起来啥也没有

就一个黑乎乎的界面

我们来添加一下组件

导入 UI 库 Widget

创建一个组件 Widget 实例类

然后在 MyAPP 中调用它

这样我们就可以在

MyGame中写界面了

一般来说

UI分离出来写会好一点

我们可以创建一个 kv 文件

分离出来专门写 UI

比如我们想在 MyGame 中

画一条白色金箍棒

那么就可以这样

创建一个 my.kv

在里面定义 MyGame

然后画一个 canvas

定义好位置和大小

运行起来就是这样

铛铛档

接着在两边添加分数

可以使用 Label 组件来定义文本

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

默认为 0 分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接下来添加个球

可以创建一个球类

同样的

在 kv 文件中添加组件

可以在 MyGame 中添加 MyBall

这样就可以在当前对象

画球了~

看,球

那怎么让它动起来呢

我们知道要让球动起来

就是以一定的速度不停的改变球的位置

可以先在 x 和 y 轴

定义它的速度

那么要让球动起来

就是要不停的去改变球的位置

我们可以使用 Clock 来创建定时调用

比如我们要一秒调用 60 次 update

就可以这样

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

好爽啊

那么我们在 update 方法中

不断改变球的位置就可以了

在 kv 文件中

定义 ball 对象 id

绑定好

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这样我们就可以在 py 中

拿到球对象了

然后就可以在 update 方法中

让球运动起来

如果碰到边边角角

就让它反向操作

我们还可以定义一个发球方法

也就是让它从中间随机发球

方法写好了

那么现在就可以让它跑起来啦

走起

接下来

把左右两个玩家的棒棒画出来

同样的

我们可以创建一个

棒棒对象

接着在 kv 中定义

棒棒的大小

接着在 MyGame 中定义这个对象

这样左边的棒棒就出来啦

棒棒对象可以共用

右边的棒棒只需要修改下位置就可以了

这样就都有两根棒棒了

有了棒棒之后

就要来控制它了

我们要去拖动棒棒

就要知道拖动的位置

可以使用 on_touch_move

来监听拖动的位置

这样我们就可以拿到

用户触发的坐标位置

我们只需要让棒棒上下移动就可以了

所以可以通过判断用户点击位置

如果是左边就改变左边棒棒的位置 y

如果是右边就改变右边棒棒的位置 y

像这样

那么接下来就是接球了

我们主要判断的是

球是不是和棒棒碰撞了

如果是

我们让球反弹和改变速度

可以使用 collide_widget 方法判断

这里主要是当它们碰撞了

那就拿到球的速度

然后每次反弹的时候

就让球加速

这样如果两个用户一直接到球

那么球的移动速度就起飞

我们在 update 方法中

不断的调用它进行判断

这时候运行起来是这样的

接下来就是记分了

没接到的就对方加分

然后重新发球

可以定义一个 score 变量

然后在 kv 中绑定这个变量

接着我们在 update 方法中

判断一下

没接到就对方加一分

然后重新发球

运行一波

哈哈

一个简单的游戏就完成啦

过程是不是挺好玩的

你也去试试吧

以上就是“使用 Python Kivy 开发 APP 之:创建一个小游戏玩玩”的全部内容,希望对你有所帮助。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、Python必备开发工具

img

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

五、Python练习题

检查学习结果。

img

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

img

最后祝大家天天进步!!

上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值