在 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);
我正在尝试在 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);