Cocos2d-x 怎样支持多点触摸(IOS上多点失灵的解决方法)
2014-11-11 23:07
549 查看
怎样支持多点触摸
这个问题经常被问到。多点触摸特性在cocos2d-x的第一个版本中,iOS平台和安卓平台就都可用了。但是在iOS中,苹果默认屏蔽掉了这个特新,并且提供api手动支持多点触摸。
苹果
请参照 cocos2d-x/samples/Cpp/TestCpp/proj.ios/Classes/testAppDelegate.mm,
39 行
[__glView setMultipleTouchEnabled:YES]
当有一个使用xcode的 cocos2d-x模板创建的项目,你可以像下面MyGame/proj.ios/AppController.mm一样进行修改。
- (BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization
after application launch.
// Add the view controller's view
to the window and display.
window = [[UIWindow alloc] initWithFrame:
[[UIScreen mainScreen] bounds]];
EAGLView *__glView = [EAGLView
viewWithFrame: [window bounds]
pixelFormat: kEAGLColorFormatRGBA8
depthFormat: GL_DEPTH_COMPONENT16_OES
preserveBackbuffer: NO
sharegroup: nil
multiSampling: NO
numberOfSamples: 0 ];
[__glView setMultipleTouchEnabled:YES];
// enable multi-touch here!! It's at about line 37
// ...
return YES;
}
安卓
在安卓平台中,默认支持多点触摸。在void MyLayer::ccTouchesBegan/Moved/Ended方法获得触摸坐标之前,你不必设置任何事情。
多点触摸的测试例子可参考TestCpp里面的“MultiTouchTest”。
这个问题经常被问到。多点触摸特性在cocos2d-x的第一个版本中,iOS平台和安卓平台就都可用了。但是在iOS中,苹果默认屏蔽掉了这个特新,并且提供api手动支持多点触摸。
苹果
请参照 cocos2d-x/samples/Cpp/TestCpp/proj.ios/Classes/testAppDelegate.mm,
39 行
[__glView setMultipleTouchEnabled:YES]
当有一个使用xcode的 cocos2d-x模板创建的项目,你可以像下面MyGame/proj.ios/AppController.mm一样进行修改。
- (BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization
after application launch.
// Add the view controller's view
to the window and display.
window = [[UIWindow alloc] initWithFrame:
[[UIScreen mainScreen] bounds]];
EAGLView *__glView = [EAGLView
viewWithFrame: [window bounds]
pixelFormat: kEAGLColorFormatRGBA8
depthFormat: GL_DEPTH_COMPONENT16_OES
preserveBackbuffer: NO
sharegroup: nil
multiSampling: NO
numberOfSamples: 0 ];
[__glView setMultipleTouchEnabled:YES];
// enable multi-touch here!! It's at about line 37
// ...
return YES;
}
安卓
在安卓平台中,默认支持多点触摸。在void MyLayer::ccTouchesBegan/Moved/Ended方法获得触摸坐标之前,你不必设置任何事情。
多点触摸的测试例子可参考TestCpp里面的“MultiTouchTest”。
相关文章推荐
- 【Cocos2d-x】 关于IOS设置竖屏后,运行会报错的解决方法
- cocos2d-x中CCEditBox 在iOS和安卓平台下 位置偏移的问题解决方法
- iOS下解决libzbar.a不支持armv7s的方法
- cocos2d-x 3.10热更强制退出无法继续下载+IOS热更资源有空格热更出错的Bug解决方法
- 解决ios不支持按钮:active伪类的方法
- Ios下解决libzbar.a不支持armv7s的方法
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(三):素材最终解决方法
- iOS系统和微信中不支持audio自动播放问题的解决方法
- IOS中input键盘事件支持的解决方法
- IOS系统对position:fixed支持不好的解决方法
- 越狱iOS代码不再支持system()函数的解决方法
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(三):素材最终解决方法
- ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)
- IOS系统对fixed定位支持不好的解决方法
- ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)
- RAD Studio D10发布IOS TestFlight不支持外部测试的解决方法
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(三):素材最终解决方法
- iOS如何解决某些方法低版本不支持的问题
- cocos2d 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int---->解决方法
- 快速解决低版本Xcode不支持高版本iOS真机调试的问题方法