libGDX与Kotlin
移动游戏开发(8)

原文地址:Integrating Gamecenter into libGDX | Java | Multi-OS Engine | #8


由于Google Play Games Services并不完全能在iOS上集成(分数不能提交),本篇文章讲着重介绍实现使用Multi-OS Engine(简称MOE)对Game Center集成。这并不需要原生的Java框架转换器,因为MOE自从1.2版本之后就在apple.gamekit包中提供了GameKit的绑定。

即使苹果在iOS 10上删除了Game Center应用,用户依然可以登录(设定 -> Game Center)。

处理Game Center玩家身份认证

Game Center玩家身份认证非常简单。只需要注册一次AuthenticateHandler对象,便会自动处理相关过程。

创建处理排行榜的方法

为了显示个性化的排行榜,或为了获取最高分数,需要创建一个排行榜处理方法,在此方法中得到一个包含所有排行的数组。接着设定玩家和时间范围,例如得到本日最高分数。

在处理方法中加载排行榜

当加载结束后,为防止多次加载请求,将一个布尔变量设置为false来控制加载。

如果在使用GKScore的过程中抛出ClassCastException异常,在类中加入如下代码:

向排行榜提交分数

向Game Center的排行榜提交一个数值也同样简单,只需要设定好排行榜的identifier身份(可以在iTunes Connect的Game Center页面找到)。如果nsError对象为null,那么分数提交成功;否则若不是null则提交失败。

检查玩家是否登录

每次提交分数、显示排行榜等操作的时候,需要检查用户是否被Game Center授权。

显示警告对话框

当用户无法登录Game Center的时候,可以通过对话框来提示用户手动登录。

打赏
Majirefy

Majirefy

一个没有技术的技术宅,喜欢买买买,热爱生活,贪图享受。

您可能还喜欢...

发表评论

电子邮件地址不会被公开。 必填项已用*标注