我目前需要在不使用 cocos2d 中 UIKit 的滚动视图的情况下创建自定义滚动视图。我认为,最好的方法是创建一个单独的图层,然后将我所有的精灵添加到该图层中。但我不确定如何接收所有精灵的触摸事件。有没有最好的方法可以做到这一点?谢谢!
你看过CCScrollLayer吗? 它可能不适合你,但也许你可以复制它拾取触摸的方式。
- https://github.com/cocos2d/cocos2d-iphone-extensions/tree/develop/Extensions/CCScrollLayer
- http://www.cocos2d-iphone.org/forum/topic/17118
这里还有另一个,不确定它是分叉还是独立的分叉:
- https://github.com/jerrodputman/CCKit
但我在这些方面都没有取得多大成功。 弹跳和体验的其他部分永远不会感觉正确,所以我回到使用 UIScrollView 来处理触摸。
我一直面临同样的问题,我在这里找到了SWScrollView:
https://github.com/saim80/Cocos2D-Extensions
比CCScrollView更好地满足了我的需求。它的行为更像是UIScrollView,而CCScrollView则更多地用于从我所看到的内容进行分页。
有一个很好的框架叫做CMMSimpleFramework。
http://www.cocos2d-iphone.org/forum/topic/39018
http://www.cocos2d-iphone.org/forum/topic/60354
有一些示例视频,存储库的链接位于这些页面上。
其中一个类是滚动层,可以执行您需要的操作。为了使示例项目运行,我不得不注释掉一些已更改的游戏中心身份验证处理程序代码,但是在我这样做之后,演示工作正常。