iOS上的OpenFeint滚动视图中的触摸问题

| 到目前为止,我一直在搜寻和询问,但无济于事。我有一个要放入OpenFeint的游戏,并且在OpenFeint的仪表板中的滚动视图有问题。有用于排行榜和成就(以及其他当前不相关的)的滚动视图,并且在每个视图中都可以滚动,但是好像从未获得任何触摸结束事件。当您放手时,即使内容不在视图中,内容也将保持原样-它不会反弹。再次触摸时,它会立即跳回并再次滚动。 但是,由此引起的更大问题是,您通常无法在滚动视图中选择任何内容(我猜它们是通过触摸结束事件选择的)。我能够用两根手指和许多轻击键来进行选择,但是实际上是行不通的。而且我知道这是我的应用程序的错,因为它在示例应用程序中运行良好。 相关细节:该应用程序使用SDL(1.3版本的git快照,我必须自己编译才能提供任何相关的源代码),OpenGL和几乎完全是C ++。我正在使用OpenFeint 2.10(最新),XCode 4.0.2(最新)和iOS 4.3.2(在模拟器中;在我的实际设备上是稍旧的版本)。我认为我做到了,因此在OF仪表板启动时游戏不会检查事件,以防出现问题,但是我失败了,或者没有任何效果。 这是模拟器中滚动视图卡住的屏幕截图: (来源:happyspork.com)
已邀请:
尽管本教程用于将Cocos2D与Openfeint集成,但它解决了类似的问题,即OpenFeint仪表板的输入出现乱码: 请特别注意dashboardDidAppear和dashboardDidDisappear方法。你会 看到我们暂时暂停了Cocos2D导演,然后在 仪表板消失。这是至关重要的一步,否则可能会导致输入 显示仪表板时不一致甚至无法捕获。但是通过暂停 主任,我们确保所有用户输入都被仪表板捕获。 我不知道SDL是否具有类似的“暂停”功能,但是以类似方式调用它可能会解决您的问题。 这是该示例中的相关代码:
- (void)dashboardDidAppear
   {
    [[Director sharedDirector] pause];
    [[Director sharedDirector] stopAnimation];
   }
- (void)dashboardDidDisappear
   {
    [[Director sharedDirector] resume];
    [[Director sharedDirector] startAnimation];
   }
万一其他人遇到此问题,此链接基本上可以解决我的问题: http://forums.libsdl.org/viewtopic.php?t=5678&sid=99aa9531656e0aa398ce35a7c348fe88 到目前为止,它还没有解决滚动问题,但是确实解决了选择问题,这是主要问题。也许另一个可以通过修改来解决。

要回复问题请先登录注册