您的位置:首页 > 移动开发 > Cocos引擎

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”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: