【发布时间】:2014-02-05 11:34:03
【问题描述】:
我想使用 c++ 在 cocos2d-x 中启用多点触控模式。有关于如何在 cocos2d 上启用它的答案,但我想在 cocos2d-x 中启用它。任何帮助将不胜感激
【问题讨论】:
我想使用 c++ 在 cocos2d-x 中启用多点触控模式。有关于如何在 cocos2d 上启用它的答案,但我想在 cocos2d-x 中启用它。任何帮助将不胜感激
【问题讨论】:
我自己得到了答案。要启用多点触控,只需转到您的 AppController.mm 然后在创建 EAGL 视图后的函数 didFinishLaunchingWithOptions 中添加以下代码。
[__glView setMultipleTouchEnabled:YES];
所以现在函数应该是这样的
(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
preserveBackbuffer: NO
sharegroup: nil
multiSampling: NO
numberOfSamples:0 ];
[__glView setMultipleTouchEnabled:YES];
// Use RootViewController manage EAGLView
viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
viewController.wantsFullScreenLayout = YES;
viewController.view = __glView;
//continued.....
【讨论】:
对于其他平台,这应该默认开启,但对于 iOS,您需要启用它。从 Cocos2d-x 3.16 开始,修改cocos new 命令行工具生成的RootViewController.mm 的一行以启用多点触控。
--- a/proj.ios_mac/ios/RootViewController.mm
+++ b/proj.ios_mac/ios/RootViewController.mm
@@ -52,7 +52,7 @@
numberOfSamples: 0 ];
// Enable or disable multiple touches
- [eaglView setMultipleTouchEnabled:NO];
+ [eaglView setMultipleTouchEnabled:YES];
【讨论】: