【问题标题】:GameCenter for Mac with Java带有 Java 的 Mac 游戏中心
【发布时间】:2014-01-18 21:19:36
【问题描述】:

我目前正在教一个学生如何在 Mac 上用 Java 编写游戏。 GameCenter 是 Apple 提供的一项服务,可让人们在排行榜上查看他们的游戏统计数据并让他们在线玩游戏。 有谁知道是否可以用 Java 实现 GameCenter,或者是否可以在 Mac App Store 上发布 Java 应用程序?

【问题讨论】:

标签: java macos game-center mac-app-store


【解决方案1】:

基础知识

您需要将 Java 应用程序的部分转换为 OS X 和 iOS 支持的 Objective-C。

幸运的是,在过去几年中,在可以帮助您做到这一点的工具、技术和方法方面取得了相当大的进步和关注。甚至还有一个开源工具/运行时可以将 Java 代码转换为 Objective-C:

J2ObjC

它相当受欢迎,可能会让您朝着正确的方向前进。


编辑:我在上面添加了 parts 这个词,因为显然不清楚 Basil Bourque,和/或可能认为翻译这个词必须用objective-c重写你的整个应用程序的任何其他人。

【讨论】:

  • 哇!太棒了!我从来不知道有转换器!谢谢(你的)信息!如果我有足够的声誉,我会投票赞成。在此之前,请将此评论视为我的诚挚感谢。
  • 或者,您可以考虑使用某种类型的可可桥,例如 Rococoa
  • @alexsmbaratti,不客气! — 很高兴它对你有帮助,干杯 :)
【解决方案2】:

基于 Java 的 Mac 应用程序

answer by l'L'l 并不完全正确。您确实不需要将您的 Java 代码翻译成 Objective-C。您可以在 Apple Mac App Store 中发布基于 Java 的应用程序。

Apple 更改了他们的政策,现在允许在 Mac App Store 中销售基于 Java 的应用程序。据我所知,这仅适用于 Mac 应用程序,不适用于 iOS。据我所知,没有发布在 iOS 上运行的 Java 实现。 Sun 曾公开展示过一个原型,但从未发布过任何适用于 iOS 的 afaik。

请参阅my answer 以了解类似问题。成功的应用程序Moneydance 就是一个示例,如this answer 所述。

简而言之

  • 您创建了一个精简的 Objective-C 应用程序,使用 Xcode 封装了您的 Java 应用程序。
    其他人已经为这个最少的代码提供了模板。
  • 您的 Mac 应用程序必须包含 JVM (Java Virtual Machine)。
    换句话说,您的 Mac 应用程序无法访问可能已安装在其上的 JVM用户的 Mac。
  • 您可以使用 Swing 或 JavaFX 来呈现用户界面。
    Apple 和 Oracle 的 Java 实现都附带了 Swing 的扩展,以获得 Mac 的外观和感觉。 Oracle 的最新实现还包括 JavaFX

Oracle 提供了these instructions,说明如何为 Mac App Store 打包您的应用程序。

游戏中心

我不知道从游戏的基于 Java 的部分访问 GameCenter 的详细信息。您可能需要编写一些 Objective-C 来与 Apple 的 GameCenter 库/框架进行交互。

正如 MadProgrammer 所指出的(对问题进行评论),您的 Java 代码可以使用以下任一方式与 Objective-C 代码进行交互:


Xojo

顺便说一句,Mac App Store 中另一个用于发布应用程序的非 Objective-C 平台是Xojo,以前称为 RealBasic。一套非常巧妙的工具,具有完全面向对象的编程语言。深受初级程序员和专业人士的欢迎。

【讨论】:

  • 我所说的“翻译”并不是指“全部重写”,所以我编辑了我的答案以澄清。你是说 OS X 或 iOS 上的 Java 应用程序至少不需要用 Objective-C 或 Objective C++ 编写某些部分?只是好奇,因为我的印象是,如果您使用的是 Apple 框架,则需要这样做。另外,感谢您添加了不错的技术摘要,绝对是很好的信息:)
  • @l'L'l 不,据我所知,您不需要重写任何 Java 代码。但是请注意我还没有发布这样的应用程序,所以我没有经验,只有学习。你只需要一个最基本的 Xcode 项目和足够的 Objective-C 代码来启动 JVM 和你的类。正如我提到的,其他人已经提供了该示例代码。另外,我修改了我的答案,以明确只有 Mac App Store 允许 Java 应用程序,而不是 iOS 应用程序商店。
  • @l'L'l 至于使用 Apple 的 Cocoa(或 Carbon)库,是的,您需要编写一些 Objective-C 代码并使用 JNI/JNA 与您的Java 代码。但是对于许多种类的应用程序来说,Java 平台是完整的。您可以访问文件系统、网络、集合、Joda-Time 以及所有其他出色的 Java 库。 Swing 可让您构建外观正常的 Mac 风格的用户界面。现在,JavaFX 可以让您构建外观更狂野的用户界面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多