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

Python Kivy(App开发) Windows安装打包步骤 Python Kivy(App开发) Windows安装打包步骤 学了很久的深度学习,一直在电脑上折腾,希望能拿到手机上做点玩具,于是我尝试寻找在python上制作App的方法。于是向我的老师求助,他告诉我在欧洲大家会用kivy创建移动端应用来在移动端实现自己的想法。于是我在试着在国内找这方面的资料,可惜很少,大部分都是重复且零散的。于是我慢慢摸索,暂时找到了适合现在(2020.7)的安装实现步骤。希望能帮到大家,kivy还是比较好玩的一个模块哈哈。 一、准备工具 Pycharm ,也可以用Jupyter 阅读详情

什么是 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全套学习资料已经上传至优快云官方,朋友如果需要可以直接微信扫描下方优快云官方认证二维码免费领取【保证100%免费】。

Python UI框架库之kivy使用详解 Python是一种广泛使用的编程语言,而Kivy是一个用于创建跨平台移动应用和多点触控应用的开源Python框架。Kivy的设计目标是提供一种简单而强大的方式来构建富有创意的用户界面和交互体验。本文将详细介绍Kivy的基本概念、核心特性、布局系统、用户界面设计和实际应用场景,并提供丰富的示例代码,帮助大家更好地了解和应用这个引人注目的工具。 阅读详情

相关推荐

Python 也能开发 App ?

python语言虽然很万能,但用它来开发app还是显得有点不对路,因此用python开发的app应当是作为编码练习、或者自娱自乐所用,加上目前这方面的模块还不是特别成熟,bug比较多,总而言之,劝君莫轻入。 准备工作 利用python开发app需要用到python的一个模块–kivy,kivy是一个开源的,跨平台的Python开发框架,用于开发使用创新的应用程序。简而言之,这是一个python桌面程序开发框架(类似wxpython等模块),强大的是kivy支持linux、mac、windows、androi

weixin_46737755的博客 3139

Python移动APP开发之Kivy(二)——第一个APP

本篇介绍Kivy开发软件的基础写法以及打包教程。

qq_61032526的博客 9352

Python:使用Kivy将python程序打包为apk文件

1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件。以下是在windows环境中使用。 安装和配置的过程中会下载很多东西,确保你能够稳定地访问外网,另外推荐一个视频教程:Youtube 2. 步骤 第一当然是安装了Python,我的版本是Python 2.7.13,然后就是安装Kivy包: 官网有详细的Kivy包

WHLOOK 8683

《Python+Kivy(App开发)从入门到实践》自学笔记:简单UX部件——Button按钮

《Python+Kivy(App开发)从入门到实践》自学笔记:简单UX部件——Button按钮

lstef的博客 3169

如何使用Python编写一个Android APP--kivy

【代码】如何使用Python编写一个Android APP--kivy。

655

kivy,一个非常牛逼的跨平台开发框架!

我最近在项目中尝试用它开发了一个简单的互动应用,感觉这个库用起来确实有不少亮点,特别是它那种“一次开发,多平台运行”的特性,让我这个重度 Android 开发者简直欲罢不能。比方说,如果你只是想做一个简单的 UI 程序或者小型的工具应用,不想折腾复杂的桌面开发库,那 Kivy 就特别适合你。如果你想开发一些具有丰富交互效果的应用,比如游戏、绘图工具或者互动教学工具,Kivy 的多点触控支持就派上用场了。:Kivy 天生支持多点触控,所以它不仅适合开发桌面应用,也特别适合用来做手机和平板上的交互式应用。

weixin_53707653的博客 5913

python kivy 开发经验总结,使用 Python Kivy 开发 APP 之:创建一个小游戏玩玩

使用 Python Kivy 开发 APP 之:创建一个小游戏玩玩小帅b 学习python的正确姿势之前小帅b分享过这个Python除了做ai,还能干啥?其中放了张 Kivy 的图什么是 Kivy 呢简单点说它就是一个 Python 库你可以使用它开发 APP像你常看到的用户界面程序多点触控程序都可以使用它来实现而且在不同的操作系统中的APP都可以使用它来实现刚好有 b 友问起“怎么玩呢”那么接...

weixin_39617484的博客 541

python-22-使用Kivy开发手机app

1 安装测试 (1)安装 CMD>conda activate python36 CMD>pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew CMD>pip install kivy.deps.gstreamer CMD>pip install kivy CMD>pip install kivy_examples (2)举例 from kivy.app import App from ki.

qq_20466211的博客 1万+

Python开发App实战(一)-Kivy入门

写在最前: 开发App的主流语言中应该是Java,但是苦于没有学过Java但目前又没那么多时间重新学,因此就想着用已经入门的Python开发两个App练手,学习的过程中看过很多资料,也踩过很多坑,于是就想着将自己的经验写出来分享给大家,希望大家可以少踩些坑,更顺利地学习。本次《Python开发App实战》总共分为4个部分,第一部分是Kivy的入门教程,第二部分是基于Kivy实现一个具有计时器和秒表功能的表,第三部分是基于Kivy实现一个科学计算器,第四部分是Kivy向移动设备的打包移植。前三个部分博主是已经

Young824的博客 2万+

Kivy教程大全之 如何使用 Python 编写桌面和移动应用程序

实战问题 Python 有很多优点,但我最喜欢的方面之一是 Python 是跨平台的。您不仅可以为每个现代桌面操作系统进行开发,还可以为许多旧操作系统甚至嵌入式软件编写代码。 但是,如果你想为移动应用程序编写代码,你会怎么做呢? 解决方案:Kivy 入门 在继续安装 Kivy 之前,请确保您拥有所有必需的依赖项,因为如上所述,存在诸如 OpenGL 和 GUI 类之类的东西。 安装 Kivy 可以通过几种方式完成,但如果您已经拥有 Python,您不妨继续使用 Pip。 python3 -m pip ins

iCloudEnd的博客 2630

Kivy移动应用开发入门:创建首个APP

Kivy是一个开源的Python库,用于开发多点触控应用程序。这个框架提供了一种快速高效的方法来构建复杂的应用程序界面,并支持多种平台。它拥有一个简洁的设计哲学,致力于简化移动应用的开发,同时保持足够的灵活性以适应不同的需求。Kivy框架的核心特性包括对多点触控的支持,提供了一个跨平台的工具集,允许开发者在多个操作系统上创建、测试和部署应用程序。Kivy的组件化设计使得开发者可以轻松复用代码,这在多平台开发中尤其有价值。与其他移动应用开发框架相比,Kivy具有其独特的优势。

weixin_42509513的博客 1295

如何利用Python开发App?

作者:nmaskhttps://blog.youkuaiyun.com/nmask/article/details/109664469最近想到尝试用python开发一款app,google搜索了一番...

Python小二 2万+

基于Kivy的NUI跨平台APP开发实战_book1

前言课程特点:完全基于Python,快速实现Windows,Linux,MacOs, ios, Android跨平台GUI,NUI APP开发融合机器学习,深度

python可以开发手机AAP吗?kivy说可以

用python开发app,本篇博文介绍利用python+pycharm+kivy实现手机app的开发

河西~石头 1万+

大白话讲解Numpy中什么是一维、二维、三维数组,以及5种创建方式

NumPy中提供了多种创建数组的方式,其中最基本的方式就是通过array()函数创建数组在使用该函数时直接传入列表或元组即可。 通过array()函数分别创建一维数组、二维组和三维数组,那么什么是维度呢?一维、二维、三维有什么区别? 1、什么是维度? 维度可以理解为描述数据的一种 “方向” 或者 “层次”。在数组中,维度的数量决定了我们需要用多少个索引来访问一个元素 2、一维、二维、三维的区别? (1)一维:一维数组就像是一条直线上排列的一组数据,例如: a = np.array([1, 2

1365

微信小程序 - 苹果ios无法播放视频、安卓android手机可以播放,使用video播放MP4视频时安卓正常播放视频iOS无法播放出现黑屏、加载失败或一片黑没反应等(uniapp微信小程序也能解决)

微信小程序ios无法播放视频,微信小程序 video标签 ios不能播放视频或视频黑屏,ios无法播放视频,android手机可以播放,视频格式为mp4,uniapp微信小程序安卓设备android可以播放在线网络视频 ,苹果ios设备无法播放视频,微信小程序 video标签 ios不能播放视频或视频黑屏,安卓手机正常播放iPhone手机却黑屏,如何解决这个问题,在线播放视频URL链接,iOS无法播放MP4视频文件的解决方案,在Android设备上可以正常播放,但在iOS设备上却出现黑屏、无法加载或无法播放

🏆 前端领域优质创作者 1万+

神奇的Kivy,让Python快速开发移动app

随着移动互联网的不断发展,手机、Pad等移动终端已经被普遍使用,充斥在人们的工作、学习和生活中,越来越多的程序都转向移动终端,各类app应用相拥而至。 Kivy作为Python的Android和IOS的app应用开发利器,有着跨平台开发优势,很快得到了普遍运用,并逐渐占据了核心地位。下面我们就看看用Python的Kivy模块是如何开发移动App应用的。 Kivy的安装。与Python的其他模块...

轻松学python的博客 6533

ASPICE标准快速掌握「总目录」

欢迎大家来到雪云飞星的《ASPICE标准快速掌握》,开始前博主先列出本专栏学习的大纲,同时这也可以作为大家学习ASPICE协议知识点的参考。本专栏可以帮助大家快速掌握如何在项目中使用ASPICE,ASPICE的学习通常仅需要半天时间左右,掌握方法后完全就可以结合快查表来指导具体项目的质量提升了。

雪云飞星的博客 3010

python使用kivy进行安卓开发——编写一个简单的弹球游戏(来自kivy官方文档)

本文主要通过依据kivy的官方文档进行学习,有关安装的方面网上都有,这里就不赘述了。这节学的是一个简单的弹球游戏。 开始: 首先新建一个简单的文件main.py,然后测试运行。 from kivy.app import App from kivy.uix.widget import Widget class PongGame(Widget): pass class...

ZY_Jack的博客 6259

AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘解决方案

本文主要介绍了AttributeError: module ‘lib’ has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK’解决方案,希望能对使用python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 5万+

微信小程序爬虫终极指南:以电商小程序抓包与逆向分析为例(最新版)

在2026年的移动互联网生态中,微信小程序已经成为电商交易的核心载体之一。据统计,超过78%的头部电商平台都推出了微信小程序版本,其用户活跃度甚至超过原生App。对于数据从业者而言,小程序端往往藏着比Web端更丰富的接口数据——包括但不限于商品详情、价格波动、用户评价、库存变化、秒杀活动信息等。与传统的Web爬虫不同,微信小程序爬虫面临着三大核心挑战无URL地址栏:无法通过浏览器直接查看网络请求wx.request封装:所有请求均通过微信原生API发起,难以直接拦截然而,

2201_76125261的博客 536

Python编写手机App————kivy

kivy是一个免费、开源、跨平台的Python应用程序开发框架,编写好的程序可以直接打包为手机apk(安装包),下面我简要介绍实现的过程: 1、首先安装kivy模块,这个可以直接参考官方文档,输入对应安装命令就行,如下: a. ensure you have the latest pip and wheel: python -m pip install --upgrade pip wheel se...

weixin_43380984的博客 1万+

C++性能优化:深入理解缓存一致性与伪共享

在现代多核处理器的世界里,理解缓存一致性和伪共享就像理解一个复杂社会系统的运作规则。正如心理学家阿德勒所说:"人的行为总是有目的的",CPU缓存的每一次同步也都有其深层的硬件逻辑。本文将带你深入探索这些看不见的性能杀手,以及如何在实际项目中与它们优雅共处。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 935

使用kivy编写app,在wsl中使用Buildozer生成安卓app

在windows上使用kivy创建安卓apk文件

jbjbjbjb111的博客 3094

OTFS 消息传递算法信号检测【附matlab代码详解】

OTFS 消息传递算法方面的一些浅浅理解。

Cuby的博客 4011

AMDGPU IH(Interrupt Handler)实现分析

AMDGPU IH环形缓冲区机制是显卡驱动中高效处理GPU硬件中断的核心架构。该机制通过环形缓冲区存储中断事件,利用读写指针(wptr/rptr)同步硬件与驱动间的数据交互。硬件写入事件后驱动遍历处理,通过指针掩码实现环形循环,并具备溢出检测和虚拟化环境下的重置保护。其优势在于批量处理降低中断开销,指针同步确保可靠性,支持多队列扩展和SR-IOV虚拟化场景,为GPU中断管理提供了高性能基础架构。

图形/计算GPU的驱动与虚拟化技术分享园地 1639
上一篇: 用 Python 开发一个【GIF表情包制作神器】
下一篇: 你常常看到 Python 代码中的 assert 是个啥?
壹只小小码农
博客等级 码龄5年 8101粉丝 1334原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值