在 Cocos2d 中设置相对于场景的位置

Set position relative to scene in Cocos2d

我正在尝试在 cocos2d 中使用 DrawNode,它是 Sprite 的 child。 Sprite 的位置和旋转会影响 child DrawNode 的位置和旋转,如您所料。

我正在尝试将 DrawNode 的位置和旋转设置为不受其 parent(Sprite)的影响。

我已经尝试将 self->addChild(self->drawNode) 更改为 self->getScene()->addChild(self->drawNode),这将完美地工作(如果有效的话),但我收到一条错误消息说 self->getScene() returns a nullptr。发生这种情况是因为它还没有被添加到任何场景。

如何定位 DrawNode 相对于 scene/world 的位置?

例如:

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

我的目标是从 window.

的右下角笔直向上画一条线

如果您想在添加 sprite 之前访问场景,当前 运行 场景始终可以从导演访问。

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