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