Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
缩放和平移2D cocos2d iphone游戏的最佳方式_Iphone_Cocos2d Iphone_Zooming_Pan - Fatal编程技术网

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

缩放和平移2D cocos2d iphone游戏的最佳方式,iphone,cocos2d-iphone,zooming,pan,Iphone,Cocos2d Iphone,Zooming,Pan,用Cocos2d为iPhone实现可平移可缩放游戏地图的最佳方法是什么。这就像是移动狩猎,只是游戏地图不能完全显示在屏幕上。或者像《愤怒的小鸟》,割断绳子等等 这不是一个侧滚游戏,只是一个固定的游戏区域,你可以放大/缩小 我是新来的,所以如果有这方面的教程那就太好了 谢谢如果你不打算在游戏中使用物理,那么很简单,你会找到很多关于缩放/平移的教程,只需在触摸移动的缩放/平移代码中设置你的世界比例即可 但是,如果你想要像愤怒的小鸟一样的东西,那么你可以使用Box2d/Chipmunk物理引擎(与co

用Cocos2d为iPhone实现可平移可缩放游戏地图的最佳方法是什么。这就像是移动狩猎,只是游戏地图不能完全显示在屏幕上。或者像《愤怒的小鸟》,割断绳子等等

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

我是新来的,所以如果有这方面的教程那就太好了


谢谢

如果你不打算在游戏中使用物理,那么很简单,你会找到很多关于缩放/平移的教程,只需在触摸移动的缩放/平移代码中设置你的世界比例即可

但是,如果你想要像愤怒的小鸟一样的东西,那么你可以使用Box2d/Chipmunk物理引擎(与cocos2d一起提供),但是要像愤怒的小鸟一样构建物理世界,你要么需要编写自己的关卡编辑器,要么可以使用LevelSVG(由cocos2d人员提供)在SVG编辑器中直观地创建世界,并将其解析为BOX2d

至于在你的世界中使用物理实体的缩放/平移,只要你的物理世界在你试图缩放的层中,它就会工作

但我建议覆盖要缩放的层的访问函数,并通过glOrthof或glScalef处理缩放

但我建议覆盖要缩放的层的访问函数,并通过glOrthof或glScalef处理缩放

我不会覆盖访问功能。。。只需将图层添加到touch dispatcher:

[[CCTouchDispatcher sharedDispatcher] addStandardDelegate:self priority:0];
并实现委托功能:

- (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;
在该函数中,如果注意到用户正在平移/缩放,只需更新场景位置/比例属性即可

要查找用户是否正在平移或缩放,请检查此处的InputController帮助器类:


希望它能有所帮助,

您绝对应该不要听从Joao Caxaria的建议,他自己似乎不必要地重新实现了整个UIgestureRecognitor API

您只需使用UIKit的可用手势识别器,并将其附加到SharedDirectory的openGLView,如下面链接中选择的答案所述。这些允许锅、挤压、抽头等检测。您甚至可以使用UILongPressGestureRecognitor来检测拖动