我试图在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)
从精灵中直接画出一条直线。
我的目标是从窗口右下方直线画出一条线。
答案 0 :(得分:1)
如果要在向其添加精灵之前访问场景,可以始终从导演访问当前运行的场景。
auto scene = Director::getInstance()->getRunningScene();
scene->addChild(draw_node);