我试图在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)
画一条直线从子图形开始。
我的目标是从窗口的右下方垂直向上画一条线。
最佳答案
如果要在将精灵添加到场景之前访问场景,则始终可以从导演访问当前运行的场景。
auto scene = Director::getInstance()->getRunningScene();
scene->addChild(draw_node);
关于c++ - 在Cocos2d中设置相对于场景的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46952137/