Python、Kivy 和 Android 游戏 [关闭]

Posted

技术标签:

【中文标题】Python、Kivy 和 Android 游戏 [关闭]【英文标题】:Python, Kivy and Android Game [closed] 【发布时间】:2013-12-15 08:11:30 【问题描述】:

我想为 android 创建一个游戏,并想尝试一些新的东西。

我真的很喜欢 python,想用它来开发安卓游戏。

游戏不简单,应该是3D RPG游戏。我找到了Kivy Crossplatform Framework 和PyGame。我真的很喜欢两者,但我不确定 Python 是否适合我。

在android上部署python游戏容易吗? Pygame 可以在 android 上处理 3D 动作游戏吗?

【问题讨论】:

如果你喜欢 python,用这种语言部署游戏比使用 Java (Android SDK)、Flash (Stencil) 或 html5+JS 更容易(PhoneGap) :) 哈哈很好的答案,但我不是受虐狂)) 【参考方案1】:

我认为目前没有强大的 3d 支持的 python 解决方案,当然也没有强大的现成工具来简化复杂的 3d 游戏。

基本的 pygame 并没有真正的 3d 支持 - 您可以查看 this previous question 以获得一些特定的答案,但本质上它主要是 2d sdl 图形库的包装器。当然你可以通过自己管理所有的 2d 投影来做伪 3d(虽然预计这会很慢),我认为原则上你可以直接调用 opengl 并显示结果(有一个few examples),但是 pygame 没有那里没有给你太多帮助。

Kivy 在 opengl 中完成所有工作,原则上确实支持访问 3d opengl es api,包括全三维顶点操作,以及着色器等。例如,其中之一它的例子是3d rotating monkey head。然而,在目前的状态下,框架几乎完全在 2D 中工作,没有像相机、照明这样的 api 抽象。应该可以通过足够的努力添加它们,并且最近有一些工作,但它现在不存在。您可以在 youtube 上搜索 kivy 3d,以获取 kivy 中 3d 内容的一些简单示例。另一方面,kivy 非常强大且易于使用,可用于在 android 上部署 python 应用程序,因此至少涵盖了这一部分。

因此,它们都没有提供复杂 3d 游戏所需的所有工具,尽管我认为 kivy 更接近。如果有的话,最好的选择可能是将 kivy 与外部图形库集成。例如,this video 展示了一个 kivy 应用程序,它使用 pandas 3d 游戏引擎在博物馆中创建一个全 3d 交互式城市模型。像这样的东西可能让你在 android 上做你想做的事,但我真的不知道(这只是推测),即使在技术上可行,在集成的过程中也会有很多复杂性带有 kivy 的库并为 android 编译它 - 如果后者甚至可能的话。

我不想听起来很悲观,但我认为这都不是一个容易的项目。但是,我也不太清楚如果仅使用 java 和现有的流行游戏引擎会涉及什么,而且我对 kivy 的 opengl 潜力的细节了解不多。如果你有兴趣,我建议在 kivy mailing list 或 irc 频道提问 - 即使你得到相同的答案,你也可能会找到比我更自信的人!

【讨论】:

【参考方案2】:

还有Ignifuga, but it's only for 2D games。

我认为你应该改用 javascript+HTML5,there are so many libs for games dev。

【讨论】:

以上是关于Python、Kivy 和 Android 游戏 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 和 Kivy 的小型纸牌游戏

Python之深入解析如何使用Python Kivy实现一个“乒乓球”游戏

使用 Python kivy 创建游戏开始菜单

七个python gui图形界面开发框架

对 Kivy 的 Admob 支持(适用于 Android 的 Python)

Python/Kivy/Buildozer - 应用程序在 Android 中崩溃,但在 PC 上运行良好