Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. iOS SDK
Code

为你的IOS游戏程序制作排行榜

by
Difficulty:BeginnerLength:LongLanguages:

Chinese (Simplified) (中文(简体)) translation by Fuhuan (you can also view the original English article)

简介

游戏中心是苹果的社交游戏网络。它能让用户在排行榜上跟踪他人的得分,进行PK,还能邀请好友进入游戏,并通过匹配来启动多人游戏。 所以,如果你已经构建了一个IOS游戏,并喜欢用户能够将他们的分数分享到排行榜。

有关应用程序和游戏中心的的更多信息,请访问苹果的相关界面。

Xcode项目

为了本教程,我制作了一个可以从GITHUB下周的基本Xcode项目。我将介绍在苹果中心制作排行榜的所有步骤,以及相关代码和API接口。

以下是应用程序的外观:

Demo Xcode project

这个项目有一个名为scoreLabel和一些UIButton的红色文本的UILabel。红色的将加10分,并提交给一个游戏中心排行榜,蓝色的将打开GKGameCenterViewController并显示排行榜。

首先要做的是在Xcode中的Capabilities选项卡中启用Game Center。

Enable Game Center in the Capabilities tab

然后,你必须在ViewController.swift文件的顶部导入GameKit,并将

我们现在添加一些变量。你可以将这段代码粘贴到你的ViewController类中:

第一个变量表示你是否启用了Game Center,第二个变量将在稍后由本地玩家身份验证代码使用,以使GameKit能够识别默认的排行榜。

当然啦,游戏分数一开始是0,也必须是0。

LEADERBOARD_ID是一个必须设置的字符串,以使Game Center通过默认排行榜标识符将你的分数提交给服务器。选择你想要的名字,但要记住它必须有一个网页反转的语法。 这就是为什么我将这个排行榜标识为com.score.mygamename,其中mygamename应该用小写字母替换为你的应用程序的名称,并且没有空格。

在你的应用程序的iTunes Connect页面中启用Game Center之前,让我们完成基本代码。将这一行添加到viewDidLoad()中:

并在viewDidLoad()下面添加以下函数:

如果用户没有从设备登录到游戏中心,将在连接到GC服务器后立即显示Game Center登录界面。一旦玩家登录后,应用程序会获取默认的排行榜ID。

在下一个方法中,我们将抓取你之前创建的LEADERBOARD_ID字符串,并将其作为Game Center服务器的默认排行榜ID传递。

上面的代码也为当前分数增加了10分,所以每次点击添加分数和提交到Game Center按钮,就会看到红色的分数标签发生变化,应用程序会将更新后的分数提交给Game Center排行榜。

现在需要添加一个GameKit来关闭GC控制器。

在iTunes Connect上制作排行榜之前,只有一种方法需要编码,那就是打开Game Center ViewController的按钮的动作。

正如你在上面看到的,这段代码实例化了GC控制器,把它的委托分配给那个控制器,设置控制器的视图状态显示排行榜,并且在呈现控制器之前传递你的LEADERBOARD_ID。

现在我们已经完成了编程,但是还不能运行应用程序。如果你这样做,你会从Xcode中得到一个错误的反馈,因为还没有在应用程序的iTunes Connect页面中制作出排行榜。

在iTunes Connect上设置游戏中心

你应该已经使用自己的Bundle标识符在iTunes Connect中创建了一个iOS应用程序。现在从iTunes Connect仪表板输入你的应用程序,然后点击功能,然后再是游戏中心。

然后点击排行榜旁边的添加图标。

App Features page on iTunes Connect

在下一个界面里选择排行榜。

Add a leaderboard

在这里你必须输入想要的排行榜的名字。在下面的屏幕截图中,我仅以“排行榜名称”为例。你可以随意取名的啦。

在排行榜ID字段中,粘贴我们之前在Xcode项目中创建的LEADERBOARD_ID的字符串。

由于分数是一个数字,因此在分数格式类型字段中选择整数。你可以选择你想要的提交类型和排序顺序的选项。将分数范围(可选)留空。

最后,点击添加语言按钮。

Set leaderboards details

在弹出窗口中,你必须选择好排行榜的语言。默认英文。再次输入排行榜的英文名称,然后选择一个分数格式(我选择逗号分隔数字组)。

该分数格式后缀字段是可选的; 你可以将这两个字段留空或键入所需的后缀。如果你的游戏有得分,你可以输入“point”和“points”作为复数,所以Game Center控制器会把这个后缀加到排行榜上显示的分数的末尾,比如“1分”或“100分”。

你也可以添加一个图标。图片必须是.jpeg,.jpg或.png文件,它是512x512或1024x1024像素,至少72 DPI,并且在没有透明背景的RGB色彩空间中。点击文件上传并选择上传你的图片。

最后点击保存,就完成了。你可以重复上述步骤来添加更多语言,只要确保按照所选语言键入排行榜名称即可。

Add a leaderboards language

一旦你添加了一个窗口,你需要检查排行榜的细节。如果一切正常,请点击保存,然后重定向到功能页面,并展现全新的排行榜。

Language added for a new leaderboard
Features page

现在是时候在你的应用的App Store部分中启用Game Center。点击App Store并准备提交。

App Store section

向下滚动,直到找到旁边有一个开关的Game Center。启用它,它会变成绿色。然后点击排行榜旁边的+号,从列表中选择你的排行榜,然后点击完成。

点击窗口右上角的保存后,你将完成在iTunes Connect上设置Game Center的行为。

Save your app with Game Centers leaderboard

现在可以回头看看Xcode项目,并在真实的设备上和iOS模拟器上运行应用程序。如果你还没有登录到Game Center,登录控制器将显示。它看起来像这样:

Game Center Sing In screen

使用你的账号密码登录,然后测试应用程序!

在我们的addScoreAndSubmitToGC()方法中,我们添加了下面的print()调用:

如果你点击红色按钮,scoreLabel将显示“10”,Xcode控制台将提交给排行榜的最佳分数!

Score updated and submitted to your leaderboard

点击红色按钮三次,然后点击蓝色打开你的排行榜,并检查提交的分数是40。你应该看到是:

GC controller for leaderboards

总结

如果你想看到游戏中心与一个功能齐全的游戏应用,你可能需要看看看看我的CodeCanyon游戏模板。这是一个较合适的游戏模板,保存分数后提交给游戏中心。

Four Dots iOS app template on CodeCanyon

像这样的游戏模板是快速开发的好方法。CodeCanyon拥有数百种iOS游戏模板,你可以使用这些模板来快速开发 - 让你以更快的速度制作出下一个游戏!

感谢你的阅读,下次见!请查看我们的其他一些关于Swift和iOS应用程序开发的教程。

关注我们的公众号
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.