Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Cocos2d中设置相对于场景的位置_C++_Cocos2d X - Fatal编程技术网

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

C++ 在Cocos2d中设置相对于场景的位置,c++,cocos2d-x,C++,Cocos2d X,我试图在cocos2d中使用DrawNode,它是Sprite的子节点。精灵的位置和旋转会影响子DrawNode的位置和旋转,正如您所期望的那样 我正在尝试将绘图节点的位置和旋转设置为不受其父节点(精灵的影响) 我已经尝试将self->addChild(self->drawNode)更改为self->getScene()->>addChild(self->drawNode),这将很好地工作(如果工作正常),但我收到一个错误,说self->getScene()返回一个nullptr。这是因为它还没

我试图在cocos2d中使用
DrawNode
,它是
Sprite
的子节点。
精灵的位置和旋转会影响子
DrawNode
的位置和旋转,正如您所期望的那样

我正在尝试将
绘图节点的位置和旋转设置为不受其父节点(精灵
的影响)

我已经尝试将
self->addChild(self->drawNode)
更改为
self->getScene()->>addChild(self->drawNode)
,这将很好地工作(如果工作正常),但我收到一个错误,说
self->getScene()
返回一个
nullptr
。这是因为它还没有被添加到任何场景中

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

例如:

this->drawNode()->drawLine(点::零,点(0100),颜色4f::红色)
画一条直线,从雪碧开始


我的目标是让它从窗口的右下角直接向上画一条线。

如果您想在添加精灵之前访问场景,则可以始终从导演处访问当前正在运行的场景

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

@Rabbid76是的,我知道这是可能的,但我只是想保持我的代码干净,并尽量减少场景类,如果这有意义的话。如果我能把
DrawNode
作为玩家
Sprite
@Rabbid76的孩子,那就更好了谢谢你对我的question@Rabbid76为什么你一直对我的问题进行不变的编辑?@rabbi76要删除你的否决票?@rabbi76你不能通过取消否决票来撤销否决票按钮,甚至投票?