在Cocos2d

时间:2017-10-26 10:34:25

标签: c++ cocos2d-x

我试图在cocos2d中使用DrawNode,这是Sprite的孩子。 Sprite的位置和轮播会影响孩子DrawNode的位置和轮换,如您所料。

我试图将DrawNode的位置和轮换设置为不受其父级(Sprite)的影响。

我已尝试将self->addChild(self->drawNode)更改为self->getScene()->addChild(self->drawNode),这样可以完美运行(如果有效),但我收到错误消息称self->getScene()返回nullptr。这是因为它尚未添加到任何场景中。

如何将DrawNode相对于场景/世界定位?

例如:

this->drawNode()->drawLine(Point::ZERO, Point(0, 100), Color4F::RED) 从精灵中直接画出一条直线。

我的目标是从窗口右下方直线画出一条线。

1 个答案:

答案 0 :(得分:1)

如果要在向其添加精灵之前访问场景,可以始终从导演访问当前运行的场景。

auto scene = Director::getInstance()->getRunningScene();
scene->addChild(draw_node);