gpt4 book ai didi

ios - 使用 iOS Game Center Challenge 发送对象?

转载 作者:行者123 更新时间:2023-11-29 10:47:02 24 4
gpt4 key购买 nike

我正在开发一款 iOS 游戏,玩家可以在其中构建一个对象并使用该对象完成限时挑战。我想使用 Game Center 让玩家能够挑战他的 friend ,使用同一个玩家构建的对象来打败时间。挑战的时间部分很简单,但我怎样才能将玩家构建的对象与挑战一起发送?我知道如果玩家参与比赛,您可以发送对象,但比赛并不真正适合我想要做的事情。如果对象可以作为 NSDictionary(或其他对象)与质询一起发送,那将是最好的。这可能吗?如果是这样,怎么做到的?

最佳答案

我认为您有两种实现方式:

使用分数上下文

您实现 leaderboards进入您的 Game Center 游戏并使用挑战完成时间作为您的分数。您的 GKScore 对象有一个 context 属性,您可以使用它来传输对您的对象的引用。 context property是一个整数值。您将需要实现自己的服务器来存储实际对象,或使用后端即服务,如 Parse .

当您发出 GKScoreChallenge 时,其他玩家可以读取 score 属性,检索 context 然后联系您的服务器以检索对象并设置他的游戏以尝试并战胜挑战。

使用回合制比赛

如果你真的不想建立自己的服务器,你可以使用回合制比赛,但它有局限性。当玩家构建对象时,您将创建回合制比赛。在这里,使用 GKTurnBasedMatch 对象的 matchData 属性可以轻松存储对象。挑战 friend 将包括邀请加入这个特定的回合制比赛。

最大的问题是你只能挑战 16 个 friend (一场比赛中的最大玩家数量)来争夺你的一个玩家构建的对象,而且你的 friend 必须轮流。

您可以通过使用相同的游戏数据创建更多比赛来解决玩家数量的限制。

必须等一个 friend 转弯,你可以通过将转弯超时设置得较低来解决(不确定是否有限制到多低),所以感觉没有转弯。或者,您可以使用交换系统将轮次传递给在轮到他真正开始之前已经玩完的人。

关于ios - 使用 iOS Game Center Challenge 发送对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22031878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com