我已经搜索到了混乱的地步,所以我需要一些指导。我想用 Python 在 Android 上制作游戏 - 只能使用我的 android 设备。
正如其他人所说,这介于“非常困难和烦人”和“不可能”之间。尤其是没有计算机来完成任何的过程!
我对 Kivy 和 Sl4a 之间的区别感到困惑
Kivy 是一个用于 python 的跨平台(linux、windows、osx、android、ios,也许更多)图形框架。相同的开发人员维护了一个 python-for-android 项目,可以让您非常轻松地将 kivy 程序编译为 android apk。您还可以使用 pyjnius 项目进行 java api 交互等,该项目也由相同的开发人员维护,并且一些 api(振动、加速度计等)已经抽象为 python 模块,因此您不必接触 java。
sl4a 最初(我认为)是一种在 android 上运行 python 脚本的方法。它有自己的方式来使用 android api 做一些事情,但我不知道细节或什么是可能的。还有一些方法可以打包为 apk 或进行某些图形工作,但我对此也不熟悉 - 我认为它们作为图形框架比 kivy 受到更多限制(不是它列出以同样的方式成为一个完整的框架),但我对此知之甚少,至少图形的工作方式完全不同,具有其自身的优势。
(编辑:注意上一段中的所有“我认为”?那是因为我真的不确定,也不想说错话。不要相信我的话,试试看! )
总体而言,kivy 和 sl4a(以及它们的两个相关项目)是独立的项目,具有不同的侧重点和技术能力。我个人认为 kivy 是除了基本脚本之外更明显的选择(尽管即使是简单的 sl4a 脚本也可用于制作任务脚本等),但虽然 kivy 的一些优势可以说是客观的,但我的一些观点是主观的。
我需要采取哪些步骤才能在手机上编程和运行我的游戏
这本身就是一个很大的话题。已经知道 kivy,我认为我可以拼凑一个流程来完成它,但我绝对不想这样做,因为它需要以一种不好的用户体验方式交互的其他工具的可怕混杂。从本质上讲,我会使用文本编辑器创建 android 文件以使用 kivy 的交互式启动器(在 play 商店中)运行,并且可能原则上可以使用 kivy 的在线 buildozer 工具编译为 apk。但是,我真的要强调,这只是原则上可能的,我不建议尝试 - 我认为 android 确实没有一套好的工具来进行这种通用编程,而且操作系统也不适合编码的多任务处理。
如果您只是想编写脚本并运行它们,您可能会有更多的运气。您可以查看 qpython 和 codepad2 lite 之类的应用程序,以及 sl4a 的东西(可能还有其他应用程序,这些只是我最近看到或尝试过的几个),这些应用程序可以让您编辑和运行这些类型的脚本。这可能对某些事情有用,但即便如此,如果您还需要在不同应用程序中阅读文档等之间切换,我认为这将不是一个有趣的体验。
所以总的来说...某些事情是可能的,但是使用(比如)kivy 构建完整的应用程序不太可能是使用当前工具的轻松或愉快的体验。既然你说你受到环境而不是选择的限制,我建议你玩 qpython 等看看会发生什么,但你不会错过一些可以消除所有痛苦的绝妙想法。