3.2版本的LabelTTF中的getBoundingBox()不能正常使用,请问如何解决

我初初学习cocosdx。上网看教程视频,下载了3.2 final版本的。
然后,我定义了一个LabelTTF的对象,当点击这个对象的时候,就会随意生成对象的新位置,类似逃跑按钮那种。

但是我发现getBoundingBox函数好像不能正常使用,我将HelloWorld.cpp的 init 函数修改了。
下面是我的代码:
if ( !Layer::init() )
{
return false;
}
Size visibleSize = Director::getInstance()->getVisibleSize();
LabelTTF* tf = LabelTTF::create(“Change Position”, “Mv boli”, 30);
tf->setPosition(visibleSize.width / 2, visibleSize.height / 2);
this->addChild(tf);
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = (Touch* touch, Event* event)->bool{
if (tf->getBoundingBox().containsPoint(touch->getLocation()))
{
//My Wnd Size is 800 x 600
tf->setPosition(rand() 800, rand() 600);
}
return false;
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(
listener, tf);
return true;

无论怎么点击都不会逃跑,但是如果点击的是程序的左下角的话,那么就会文本就会逃跑。
然而如果换成了 TextfieldTTF的类型的话,不用LabelTTF的类型就可以实现逃跑的功能。

更为奇怪的是,这段代码,在3.0rc0的版本下,是可以实现逃跑的,但是从3.0正式版开始就不行了。

就是同一段代码,同一个编译器,在3.0rc0是正确的,能够实现我想要的功能。从3.0正式版开始就不行了。

有高人说我应该在setPosition后面还要添加true。但是我试过了还是不行。
这是我之前发的帖子:
http://discuss.cocos2d-x.org/t/the-getboundingbox-of-labelttf-does-not-work-properly-how-to-solve-it/15874

同 3.2 版, Sprite 的 getBoundingBox() 返回全部是0。

log(" rect(%f,%f,%f,%f)", sprite->getBoundingBox().origin.x, sprite->getBoundingBox().origin.y, sprite->getBoundingBox().size.width, sprite->getBoundingBox().size.height)

cocos2d: rect(0.000000,0.000000,0.000000,0.000000)

是不是我哪里用错啦? 谢谢!

=====update =====
我自己的使用有问题,因为sprite没有设置 position。

同问啊 这到底是怎么回事

我对label都使用量了setposition,但是都是在左下角啊

就是有bug,他get出来的都是在屏幕左下角

好像是矩阵变幻的时候没成功(猜的:904:)
请问应该怎样办???

问题解决了,3.2 LabelTTF被弃用,使用Label创建的就能用:2:

用label也一样不认啊,好坑啊