【发布时间】:2014-09-12 02:23:06
【问题描述】:
如果 ClippingNode 被渲染到 RenderTexture 而不是被添加为子节点(或者在我的情况下添加到本身渲染到 RenderTexture 的容器中),则效果会被破坏:
精灵没有被遮盖(模板没有效果),屏幕的所有其余部分都用白色填充(在 ClippingNode 被添加到所有其他图层之上的情况下)。
(在ios和win32上测试)
auto stencil = DrawNode::create();
static Point triangle[3];
triangle[0] = Point(-40, -40);
triangle[1] = Point(40, -40);
triangle[2] = Point(0, 40);
static Color4F green(0, 1, 0, 1);
stencil->drawPolygon(triangle, 3, green, 0, green);
auto clipper = ClippingNode::create();
clipper->setAnchorPoint(Point(0.5, 0.5));
clipper->setPosition( Point(100, 100) );
clipper->setStencil(stencil);
clipper->setInverted(true);
// containerAddedAsChild->addChild(clipper, 20); // this works fine
containerRenderedToTexture->addChild(clipper, 20); // this breaks
auto img = Sprite::create("test_sprite.png");
img->setAnchorPoint(Point(0.5, 0.5));
clipper->addChild(img);
如何让 ClippingNode 在 RenderTexture 上工作并获得预期结果(将 ClippingNode 添加为子节点而不是使用 RenderTexture 时获得的结果)?谢谢。
【问题讨论】:
-
但是你的问题是什么?
-
在我的帖子中添加了一个问题。
标签: c++ cocos2d-x cocos2d-x-3.0