我是新手,有个bug求解答

我最近在试着做flappybird,遇到一个小问题,但是不知道怎么解决

auto listener=EventListenerTouchOneByOne::create();
    listener->onTouchBegan=](Touch* touch,Event* event){
        bird->getB2body()->SetLinearVelocity(b2Vec2(0, 10));
        log("click");
        return true;
    };
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);


```


就是bird->getB2body()->SetLinearVelocity(b2Vec2(0, 10));这一句报错,报错信息是
'this' cannot be implicitly captured in this context.
bird是封装的一个Sprite

吧this改成bird试试 ?:13::13::13:

首先,你的bird是什么东东。。其次,你可以通过修改lumda表达式的访问权限来访问到你需要的bird
关于Lumda表达式 可以看下面博客http://www.cnblogs.com/hujian/archive/2012/02/14/2350306.html

好的,谢谢

listener->onTouchBegan=](Touch* touch,Event* event)

改为 listener->onTouchBegan=&](Touch* touch,Event* event)