Layout 使用的是相对布局,里面添加了一个节点,做了MOVETO动画。但后来不知道为什么会跑到
void Layout::doLayout()
这个函数里面,把节点位置给还原了,真心吐血。。。求高手解决。
相对布局里面,执行MOVETO动画不更新POS?
Layout 使用的是相对布局,里面添加了一个节点,做了MOVETO动画。但后来不知道为什么会跑到
void Layout::doLayout()
这个函数里面,把节点位置给还原了,真心吐血。。。求高手解决。
相对布局里面,执行MOVETO动画不更新POS?
MoveTo 调用了这个函数来更新节点位置,并将POS更新到_position 这个变量里面了
但Layout::doLayout() 使用的POS却来自变量:
Margin relativeWidgetMargin;
Margin mg = layoutParameter->getMargin();
void Widget::setPosition(const Point &pos)
{
CCLOG(“Widget::setPosition, tag:=%d, {%f, %f}”, getTag(), pos.x, pos.y);
if (_running)
{
Widget* widgetParent = getWidgetParent();
if (widgetParent)
{
Size pSize = widgetParent->getSize();
if (pSize.width <= 0.0f || pSize.height <= 0.0f)
{
_positionPercent = Point::ZERO;
}
else
{
_positionPercent = Point(pos.x / pSize.width, pos.y / pSize.height);
}
}
}
Node::setPosition(pos);
}
所以,这BUG产生了。FUCK!
版主快来看看,尽快修复啊~