使用 Python Kivy 开发 APP 之:创建一个小游戏玩玩学习python的正确姿势共 1555字,需浏览 4分钟 · 2020-12-26 之前小帅b分享过这个Python除了做ai,还能干啥?其中放了张 Kivy 的图什么是 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 方法中判断一下没接到就对方加一分然后重新发球运行一波哈哈一个简单的游戏就完成啦过程是不是挺好玩的你也去试试吧关于 Kivy有时间我会继续给你讲解那么我们下回见啦peace!更多happy进入小帅b公众号 浏览 60点赞 评论 收藏 分享 手机扫一扫分享举报评论图片表情视频评价全部评论推荐使用 Python 开发一个 Python 解释器Python网络爬虫与数据挖掘0使用 Python 开发一个 Python 解释器Python猫0使用 Python 开发一个 Python 解释器马哥Linux运维0使用 Python 开发一个 Python 解释器Python绿色通道0使用Pytest创建一个Python测试自动化项目软件测试test0使用 Python 创建 Grafana Dashboardsk8s技术圈0使用Python创建词云介绍从开始从事数据可视化工作的那一天起,我就爱上它了,我总是喜欢从数据中获得有用的见解。在此之前,我只了解基本图表,例如条形图,散点图,直方图等,这些基本图表内置在tableau中,而Power BI则用于数据可视...AI入门学习0实战 | 使用 Python 开发一个在线聊天室Python爬虫与数据挖掘0利用Python开发Apppython之禅0如何使用 conda 创建 python 虚拟环境JAVA乐园0点赞 评论 收藏 分享 手机扫一扫分享举报