类型 函数 库 gameNetwork.* 修订 发布 2024.3703 关键字 gameNetwork,Game Center 另请参见 gameNetwork.init() gameNetwork.request()
向用户显示所请求的游戏网络信息。
gameNetwork.show( command [, params ] )
String. Game Center 支持的 String 值。
"leaderboards"
"achievements"
"friendRequest"
"matches"
"createMatch"
Table. Game Center 允许的参数表 — 有关详细信息,请参阅下一部分。
根据指定的 command
参数,params
表的内容会有所不同。
对于对 gameNetwork.show()
的所有调用,params
表支持一个 listener
键,其值作为回调函数来监视调用结果,例如
gameNetwork.show( "achievements", { listener=showAchievements } )
对于 "achievements"
的 command
参数,此函数会显示玩家对于此应用程序完成的成就。
gameNetwork.show( "achievements", { listener=showAchievements } )
对于 "leaderboards"
的 command
参数,"leaderboard"
是 params
表中的可选键,它反过来会接受另一个表。此表可能包含以下可选键
"category"
— 要显示的排行榜。gameNetwork.show( "leaderboards", { leaderboard = { category = "com.appledts.EasyTapList" }, listener = showLeaders } )
对于 "friendRequest"
的 command
参数,params
表可能包含以下可选键
message
— 用自定义文本预填充消息字段的 String 值。
playerIDs
— 表示要向其发送好友请求的 Game Center 玩家 ID 的字符串数组。
emailAddresses
— 表示要向其发送好友请求的玩家电子邮件地址的字符串数组。
local parameters = { message = "Be my friend please", playerIDs = { "G:194669300", "G:1435127232" }, emailAddresses = { "[email protected]" }, listener = requestFriends } gameNetwork.show( "friendRequest", parameters )
请注意,玩家 ID 和电子邮件地址的总数不得超过 Game Center 的最大限制,否则操作系统会引发异常。你可以通过调用 gameNetwork.request( "loadFriendRequestMaxNumberOfRecipients" )
来读取此限制。
对于 "matches"
的 command
参数,此函数会显示当前/正在进行的比赛,并且允许玩家在同一界面屏幕中创建新的比赛。params
表中接受以下键
minPlayers
— 指定多人游戏中玩家最小数量的数字。
maxPlayers
— 指定多人游戏中玩家最大数量的数字。
playerGroup
— 用于0
允许玩家
playerAttributes
— 指定本地玩家希望在游戏中扮演角色的面具。
local parameters = { minPlayers = 2, maxPlayers = 3, playerGroup = 0, playerAttributes = { 1, 4, 6 }, listener = showMatches } gameNetwork.show( "matches", parameters )
对于 "createMatch"
的 command
参数,此函数将显示游戏中心界面屏幕,允许玩家创建/管理比赛。在 params
表中接受以下密钥
playerIDs
— 可选的字符串数组,表示最初邀请到比赛的玩家 ID。
minPlayers
— 在比赛中需要的最小玩家数量的可选值。
maxPlayers
— 比赛中允许的最大玩家数量的可选值。
playerGroup
— 用于0
允许玩家
playerAttributes
— 指定本地玩家希望在游戏中扮演角色的面具。
inviteMessage
— 比赛的自定义邀请消息。
local parameters = { playerIDs = { "w4o98y3498hg349h", "wrighfq547hg543" }, minPlayers = 2, maxPlayers = 3, playerGroup = 0, playerAttributes = { 1, 4, 6 }, inviteMessage = "Hi, please join our match!", listener = createNewMatch } gameNetwork.show( "createMatch", parameters )
local function onGameNetworkPopupDismissed( event ) -- Game Center popup was closed for k,v in pairs( event ) do print( k,v ) end end -- Display a leaderboard gameNetwork.show( "leaderboards", { leaderboard = { category = "com.appledts.EasyTapList" }, listener = onGameNetworkPopupDismissed } ) -- Display the player's achievements gameNetwork.show( "achievements", { listener=onGameNetworkPopupDismissed } ) -- Display a friend request popup local friendRequestParams = { message = "Let's match up in Game Center!", playerIDs = { "G:194669300", "G:1435127232" }, emailAddresses = { "[email protected]" }, listener = onGameNetworkPopupDismissed } gameNetwork.show( "friendRequest", friendRequestParams ) -- Display a popup which shows the current/active matches AND allows the player to create a new match local matchesParams = { minPlayers = 2, maxPlayers = 3, listener = onGameNetworkPopupDismissed } gameNetwork.show( "matches", matchesParams ) -- Display a popup which lets the user create a new match and invite other players local createMatchParams = { playerIDs = { "w4o98y3498hg349h", "wrighfq547hg543" }, minPlayers = 2, maxPlayers = 3, inviteMessage = "Hi, please join our match!", listener = onGameNetworkPopupDismissed } gameNetwork.show( "createMatch", createMatchParams )