缩放和平移2D cocos2d iphone游戏的最佳方式

Chr*_*ris 5 iphone zoom pan cocos2d-iphone

使用Cocos2d for iPhone实现可扩展的可缩放游戏地图的最佳方法是什么.它会像Mobile Safari一样,但游戏地图不完全适合屏幕.或者喜欢它如何用愤怒的小鸟,剪绳等.

这不是一个侧滚动游戏,只是一个可以放大/缩小的固定游戏区域.

我是新手,如果有这方面的教程会很棒.

谢谢

Kom*_*ave 6

你绝对应该遵循若昂Caxaria,谁似乎已经重新实现不必要整个UIGestureRecognizer API自己的意见!

您可以简单地使用UIKit的可用手势识别器并将它们附加到sharedDirector的openGLView,如下面链接中所选答案所述.这些允许平移,捏合,敲击等检测.您甚至可以使用UILongPressGestureRecognizer来检测拖动.

cocos2d-iOS - 手势识别器


小智 1

但我建议覆盖您想要缩放的图层的 VISIT 函数,并通过 glOrthof 或 glScalef 处理缩放

我不会覆盖访问功能...只需将您的图层添加到触摸调度程序:

[[CCTouchDispatcher sharedDispatcher] addStandardDelegate:self priority:0];
Run Code Online (Sandbox Code Playgroud)

并实现委托函数:

- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
Run Code Online (Sandbox Code Playgroud)

在此函数中,如果您注意到用户正在平移/缩放,只需更新场景位置/缩放属性。

要了解用户是否正在平移或缩放,请在此处检查此 InputController 帮助程序类: https: //github.com/caxaria/LoopingMenu

希望能帮助到你,