到目前为止,我正在使用 cocos2d 引擎创建一个游戏,我想实现一个 QR 阅读器。
到目前为止,我已经创建了一个 CCScene,CCScene 有一个菜单按钮,它指向一个 onScan 方法:
-(void) onScan:(id)sender{
// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here
// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
// present and release the controller
[self presentModalViewController: reader
animated: YES];
[reader release];
}
我知道这适用于标准的 ViewController 类,但我想知道如何最好地实现它以与我的 CCScene 上的 cocos2d 引擎一起工作
如有任何帮助,我们将不胜感激谢谢!
最佳答案
如果您来自使用 Xcode 模板创建的典型 cocos2d-iphone 项目,我认为您的应用程序中应该有一个 RootViewController 类。 RootViewController 的唯一实例是在 AppDelegate.m 中的 applicationDidFinishLaunching: 中创建的。
viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
您可以以某种方式保 stub UIViewController 的全局引用,例如,在 RootViewController 中实现类方法:
static RootViewController *sharedInstance_ = nil;
@implementaion RootViewController
+ (RootViewController *)sharedInstance {
if (!sharedInstance_) {
sharedInstance_ = [[RootViewController alloc] initWithNibName:nil bundle:nil];
}
return sharedInstance_;
}
并将 AppDelegate.m 中的初始化更改为:
viewController = [[RootViewController sharedInstance] retain];
然后用它来呈现你的 UIViewController:
[[RootViewController sharedInstance] presentModalViewController:reader
animated:YES];
关于iphone - 在 cocos2d 引擎中实现二维码阅读器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977404/