iphone - 在 cocos2d 引擎中实现二维码阅读器

标签 iphone ios cocos2d-iphone qr-code

到目前为止,我正在使用 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/

相关文章:

ios - 将应用从付费转换为应用内购买?我如何找出哪些用户支付了费用?

c# - MonoGame - 在 iOS 上使用 SpriteBatch 平铺 Texture2D

objective-c - cocos2d 与 View Controller

iphone - 吞下触摸,除非触摸我当前层的子级

ios - 找不到架构 arm64 的 IOSurface 框架

ios - 配置 iAD 后应用程序在设备上崩溃,但在模拟器上则不然

iphone - 使用 NSLayoutConstraint 将大型 UIView 居中

iphone - 在 iOS 上进行高性能全屏 bit-blitting 的好方法是什么?

iphone - 如何在单个 View 中显示多个视频?

iphone - 核心动画还是 OpenGL ES?