Answers:
Python本身具有很好的可移植性(可以在许多平台上运行),但是您必须考虑以下几点:
您所针对的平台有哪些限制?您想通过移动商店进行销售吗?
例如,WP7市场仅允许出售以托管代码(.NET)编写的应用程序。AppStore也被锁定,仅允许使用Objective-C编写的本机应用程序。Android允许通过NDK同时运行Java和本机代码。人们已经开发出变通办法,以允许在iOS的本机应用程序中运行例如JavaScript或将Web应用程序转换为本机应用程序
您要使用的库的可移植性如何?
这是一个示例:Cocos2D是带有Objective-C端口的Python库。您可以使用Python在桌面平台上构建游戏,然后在Objective-C中重写它,并通过库保留大部分结构。但是,那时您仅支持桌面+ iOS。
总体而言,由于缺乏支持,Python不适合移动平台。这是三个可行的替代方案:
XNA是为了使Games为Windows,Xbox 360和Windows手机7有两个项目( MonoGame和内胚),允许把这些游戏,几乎没有修改,为iOS应用(通过MonoTouch的),Android应用(通过MonoDroid的)。不过,MonoTouch和MonoDroid具有许可费用。
Unity非常便于移植,并且可以针对几乎所有平台(尽管还没有Linux支持)
它是免费的桌面游戏。他们有一个Pro版本,但是对于大多数游戏,没有它您就可以做到。有一个图表比较每个平台的不同版本:http : //unity3d.com/unity/licenses
具有Canvas 2D API或WebGL的Web应用程序(所谓的HTML5)可在最新的浏览器和智能手机上运行。随着时间的推移,支持只会越来越好。有很多引擎,例如前面提到的ImpactJS或Three.JS,用于制作3D东西。
真正的便携式。支持Linux(大多数主流linux发行版附带pygame),Windows(95、98,ME,2000,XP,Vista,64位Windows等),Windows CE,BeOS,MacOS,Mac OS X,FreeBSD,NetBSD, OpenBSD,BSD / OS,Solaris,IRIX和QNX。该代码包含对AmigaOS,Dreamcast,Atari,AIX,OSF / Tru64,RISC OS,SymbianOS和OS / 2的支持,但这些未得到正式支持。您可以在手持设备,游戏机和“每个孩子一台笔记本电脑”(OLPC)的计算机上使用它。
Python本身具有极高的可移植性,并且很容易移植到新平台(假设某人尚未为您完成此工作)。每当您需要访问某些特定于平台的信息时,事情就会变得“有趣”,如果PyGame支持您正在查看的平台,或者您可以移植它,PyGame可以为您提供帮助。
一个半相关的问题是某些分发方法(应用程序商店)可能不允许运行未知第三方代码的应用程序。您必须锁定Python及其脚本,以便它们无法访问应用程序以外的任何内容,并可能阻止它运行游戏中未提供的脚本。