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 (Traditional) (中文(繁體)) 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,並將GKGameCenterControllerDelegate協議添加到類聲明中。

然後,妳必須在ViewController.swift文件的頂部導入GameKit,並將GKGameCenterControllerDelegate協議添加到類聲明中。

第壹個變量表示妳是否啟用了Game Center,第二個變量將在稍後由本地玩家身份驗證代碼使用,以使GameKit能夠識別默認的排行榜。

當然啦,遊戲分數壹開始是0,也必須是0。

LEADERBOARD_ID是壹個必須設置的字符串,以使Game Center通過默認排行榜標識符將妳的分數提交給服務器。選擇妳想要的名字,但要記住它必須有壹個網頁反轉的語法。 這就是為什麽我將這個排行榜標識為com.score.mygamename,其中mygamename應該用小寫字母替換為妳的應用程序的名稱,並且沒有空格。

在妳的應用程序的iTunes Connect頁面中啟用Game Center之前,讓我們完成基本代碼。將這壹行添加到viewDidLoad()中:

並在viewDidLoad()下面添加以下函數:

如果用戶沒有從設備登錄到遊戲中心,將在連接到GC服務器後立即顯示Game Center登錄界面。壹旦玩家登錄後,應用程序會獲取默認的排行榜ID。

如果用戶沒有從設備登錄到遊戲中心,將在連接到GC服務器後立即顯示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.