cocos2d-x 运行 来自子项的父项操作

cocos2d-x Run parent action from child

我尝试使用 cocos2d-x 库编写一个简单的游戏。

我创建了 class(名为 Letter)以生成带有随机字母作为标签的精灵并添加了一个侦听器,因为我想捕捉触摸事件。 我有一个函数:

listener->onTouchEnded = [=](cocos2d::Touch* touch, cocos2d::Event* event)
{
    CCLOG("press");
    Letter::touchEvent(touch, event);
};

和行动:

void Letter::touchEvent(cocos2d::Touch* touch, cocos2d::Event* event)
{
    this->removeFromParentAndCleanup(true);
    CCLOG("touched MySprite");
}

在我的图层中,我有一个生成字母实例的函数 class:

{
    CCLOG("new letter");
    Letter* _letter = Letter::create();

    addChild(_letter, 1);
}

当然在 init() 中我创建了一个字母:

this->createLetter();

现在,我想创建在触摸后 运行s 发送一些信息 (int) 到我的层、销毁 Sprite 和 运行 createLetter() 的动作;再次.

我该怎么做?我尝试了 create CC_CALLBACK_1 之类的东西,但我不知道我需要做什么。 :(

我不是C++大师,但我认为我有C++的基础知识,我是一名系统管理员,但我想尝试一些网络。

感谢您的帮助。

在 Latter class 中使用 this->getParent() 访问 Layer class,然后调用其中编写的任何方法,包括 createLetter() 或任何传递整数的新方法。

#

YourLayerClass* layerObject = (YourLayerClass*)this->getParent();
layerObject->sendData(3);
layerObject->createLetter();
this->removeFromParentAndCleanup(true);