質問: Menu::create(mItem2, NULL); _menu2->setPosition(Point::ZERO); btnlayer->addChild(_menu2); }
回答: 下記方法で解決できました。 ・ボタンを押した後の処理で使いたい引数をすべてグローバルで定義 ・lambda式をやめて、CC_CALLBACK_1を利用 ・追加した関数HelloWorld::myCallbackを「HelloWorldScene.h」に追加 bool HelloWorld::init() { 略 auto mItem2 = MenuItemImage::create("menu-image1.png", "menu-image1-hover.png", CC_CALLBACK_1(HelloWorld::myCallback, this)); } void HelloWorld::myCallback(Ref* pSender) { mypoint = mypoint++ % (sizeof(mapxy) / sizeof(mapxy[0]) ); auto move = MoveTo::create(0.2f, (Point(visibleSize.width / 2 + mapsize.x / 2 * mapxy[mypoint].width, mapsize.y / 2 * mapxy[mypoint].height))); auto action = sprite2->runAction(move); }