首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GameKit蓝牙

GameKit蓝牙
EN

Stack Overflow用户
提问于 2010-03-10 12:11:13
回答 1查看 1.5K关注 0票数 1

我试图理解使用GameKit进行蓝牙连接的游戏所需的基本步骤。我只有一个设备,所以我不能很容易地测试我的想法。

该游戏涉及最多2名玩家通过蓝牙通过GameKit和唯一的数据发送/接收是一个‘射击’,其中只包括位置和方向数据。

这是我认为应该发生的事情,我只是想有人指出我犯的任何错误:

游戏开始于呈现一个带有‘'peerPickerController:didConnectPeer:toSession:’‘的connectionTypeMask的GKPeerPickerController,并将它的委托设置为’self‘。

  • -- GKPeerPickerController委托方法GKPeerPickerController被实现,并将会话dataReceiveHandler设置为self。peerID被添加到一个NSMutableArray中,该NSMutableArray保存所有连接的对等ID。(在任何时候只应该有一个对等点连接)。为了每个游戏只执行一个对等连接,'session:didReceiveConnectionRequestFromPeer:‘方法检查保存连接对等To的NSMutableArray的“计数”属性。如果call=‘call 3’>计数call=‘call 2’>0,那么我们的响应是:'denyConnectionFromPeer:‘否则,我们调用:'acceptConnectionFromPeer:error:'

  • To发送一个镜头,游戏呼叫:'sendData:toPeers:withDataMode:error:'

  • To接收射击,游戏响应:'receiveData:fromPeer:inSession:context:'

有没有遗漏任何步骤?例如,如果用户试图在我连接到他们之前连接到我,那么我的GKPeerPickerController会发生什么呢?我怎么知道怎样才能拒绝它呢?

如果没有新的iPhone/iPod,我就无法进行测试。

EN

回答 1

Stack Overflow用户

发布于 2010-03-10 13:47:28

首先,如果你想在Gamekit中测试蓝牙,你真的需要第二个设备。如果你是认真对待你的应用程序,试着买一个便宜/翻新的iPhone或iPod触摸将支持GameKit蓝牙(最老的设备不这样做)。实际上,我认为两台Mac的测试效果更好,但如果你还没有第二台,那就太贵了。

你上面发布的内容是正确的--实际上,使用PeerPicker是非常简单的,你应该能够很容易地使用苹果的文档来完成它。问题是,在我的经验中,它有点简陋。这可能是因为我正在使用3GS和3G进行测试,它们的内部有不同的蓝牙,但很多时候,当你描述的场景发生时,我看到了一些奇怪的事情--“如果用户在我连接之前试图连接到它们”。最后,它通常仍然有效,但并不是没有一点等待开销,用户可能需要重复一两次这个过程。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2416697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档