我创建了Node (里面有图像和标签),我实例化并添加到场景中(在C++代码中)
auto item_one = CSLoader::createNode("item.csb");
sprite->addChild(item_one);
auto r = item_one->getBoundingBox();
而且它是可见的,但是r
总是有width
和height
等于zero
。这就是为什么我无法获取该项目的原因之一。为什么边框为零,以及如何改变它?在cocos studio Node
中,item的维度为542 x 542
,但是。有人能帮忙吗?
发布于 2015-11-12 09:25:17
CSLoader::createNode("fileName.csb")加载整个场景/层(取决于您创建的内容)。如果您想要特定子级的维度,请使用:
auto imageNode = item_node->getChildByName("NameOfChildInCocostudio");
auto spriteImage = dynamic_cast<Sprite*>(imageNode);
auto spriteBoundingBox = spriteImage->getBoundingBox();
此时,您应该得到图像的宽度和高度。如果您想要的大小,它出现在您必须乘以边界与节点规模。使用下面的代码来完成这个任务。
auto onScreenWidth = spriteBoundingBox.width * spriteNode->getScaleX();
auto onScreenHeight = spriteBoundingBox.height * spriteNode->getScaleY();
如果这有帮助的话请告诉我。
https://stackoverflow.com/questions/33660802
复制相似问题