我正在开发一款游戏,它既可以作为小程序在网络上运行,也可以作为应用程序在 Android 手机上运行。
是否可以这样做,如果可以,我需要注意什么才能使其正常工作(即,如果有任何设置我不应该硬编码,而是在游戏运行时根据用户的设备确定它们,或任何我不应该使用的 java 库?)。
此外,游戏需要接受触摸屏作为 Android 应用程序的输入。是否可以构建到同样作为小程序运行的同一个游戏中?可能是在运行时,小程序在运行时决定是使用鼠标还是触摸屏进行输入?
尽管 Android 应用程序是用 Java 编写的,但围绕应用程序的框架与围绕小程序的框架非常不同。您将无法拥有一个 .jar 文件,您可以将其作为小程序包含在 Android 设备上,因为这不是它的工作方式。
然而,您可能能够创建所有游戏逻辑和对象,并将它们与小程序代码和 Android 应用程序共享。您甚至可以将它们放在一个存储库和项目中(尽管它可能必须是一个 Android 项目,然后您将其嵌入您的应用程序构建脚本中)。
为了处理游戏的不同控件,您可能必须抽象出输入,并让您的游戏/关卡对象有一个像 userHasPoked(int x, int y) 这样的回调,然后让小程序调用该方法单击鼠标,Android 应用程序在触摸时调用它(奇怪的是仍然称为 onClick)。
我认为这将是一条漫长的道路,但比重写整个事情要容易得多。前面可能看起来还有很多工作要做,但是一旦你完成了将代码嵌入到小程序和 Android 应用程序中,你可能“永远”不必再次接触该代码并且可以继续添加到游戏中.
我不会低估这项任务,但这听起来像是一个非常有趣的编程练习。祝你好运!
你开发什么样的游戏?这可能是开发 Javascript 游戏的更好方法。
可以使用phonegap (cordova) 将其安装到 android 设备上。
让我为你打破这个......
Model
- 业务逻辑和数据
View
- 模型输出的显示
Controller
- 执行操作的位置。
使用这种MVC
架构的优点是,您可以保持相同的模型并不断更改 Views。
所以记住这个想法,你可以为 Web App 和 Android App 拥有相同的模型,然后分别实现彼此的 Views 到它。