2011-12-09 36 views
1

我正在使用iOS的cocos2d进行纸牌游戏,用户只需向上滑动卡片即可选择他的卡片,这意味着他不需要在其他地方滑动游戏。这可能是一个非常愚蠢的问题,但即使在过去两天里搜索了互联网之后,我也找不到具体的在一个场景中实现手势识别(即向上滑动)的具体内容,而不是整个应用。我阅读了Apple的UISwipeGestureRecognizer文档的文档,许多博客和其他一些视频教程。我所能找到的只是在一个场景中的应用中实现它。向正确的方向稍微推动一下会很棒。如果您向我提供某种示例代码,我真的很感激它。我已经理解了CCTouchesBegan等方法的概念,但我仍然对如何实现在玩家场景(玩家选择牌的场景)中单独滑动两个精灵之一(卡)中的其中一个进行盲目操作。如何在cocos2d中为特定场景实现手势

非常感谢。

+0

UISwipeGestureRecognizer无法正常工作,因为您使用的是cocos2d。您将需要创建自己的手势识别器代码。 –

+0

很伤心。你能否给我一些我可以开始工作的示例代码?我只有这个可怕的起始麻烦cocos2d和obj C.我是新手。我读了关于操作AppDelegate.m applicationDidFinishLoading方法,但我仍然是盲目的。请帮忙 – Prst

+0

在cocos2d论坛看看这个话题:http://www.cocos2d-iphone.org/forum/topic/8929我还没有使用它 –

回答

2

就像在某个时间点添加UIGestureRecognizer一样简单,然后在不再需要时移除该手势识别器。在你的情况下,可能在你场景的 - (void)清理方法中。没有理由为什么手势识别器需要全球化。

你应该检查出Kobold2D(基于cocos2d),为此我创建了一个super-easy wrapper for gesture recognizers。所有你需要做的就是将corresponding "enabled" flag设置为YES,之后设置为NO来启动和停止手势识别器。

+1

实际上,建议在'-onEnter'和'-onExit'方法上添加/删除触摸事件。 –

+0

谁建议在哪里?我能想到的唯一原因是,只有在任何转换完成后才会调用onEnter,因此在其中添加触摸事件可避免在转换过程中接收触摸事件。 – LearnCocos2D

+0

建议在cocos2d初学者指南中,这里http://www.cocos2d-iphone.org/wiki/doku.php/tips:touchdelegates –