为什么Cosos2d ClippingNode无法正常工作?

时间:2019-07-15 09:54:23

标签: c++ cocos2d-iphone cocos2d-x cocos2d-android

我尝试将ClippingNode用于我的Cocos2d项目,但是由于某些未知原因,它在Iphone和Android上均无法正常工作。这是正在使用的代码。模具是带有字符串“ 7”的Label。有任何错误还是仅仅是Cocos2d项目?

            auto colors = Sprite::create("colors.png");
            colors->setContentSize(Size(nodeSize.width * 1.25, nodeSize.height * 1.25));
            colors->setPosition(recordNumLbl->getPosition());
            colors->setName("recordNum");

            auto cropNode = ClippingNode::create(recordNumLbl);
            cropNode->setGlobalZOrder(11);
            cropNode->setName("cropNode");
            cropNode->addChild(colors);
            this->addChild(cropNode);

您可以看到我在第一张图像上得到的结果,以及我尝试在第二张图像上得到的结果。非常感谢您的帮助!

https://i.stack.imgur.com/fZ9LX.png   https://i.stack.imgur.com/xH1hp.png

1 个答案:

答案 0 :(得分:0)

对于剪切节点的所有子节点,全局Z值必须完全相同。因此,对于您发布的示例,您需要设置以下内容:

colors->setGlobalZOrder(11);

还要确保您使用的模具(recordNumLbl?)也设置为11的全局Z。