ccs子控件布局和父控件锚点有关系

使用的是ccs1.6版本,cocosjs是3.1版本,问题如下:
![](file:///C:\Users\Don\Documents\Tencent)

这里面 Panel_1 为了在layer里面水平居中显示,我把Panel_1的锚点改成了中点,百分比布局 也为0.5,0.5(layer为自适应分辨率,这样我的Panel_1加到代码里面,就是居中显示了)

紧接着,我在Panel_1里面添加了一张图片控件Image_2

刚好和Panel_1一样大小,可以看到图片的百分比坐标是0,0,但在ccs里面显示的刚好在Panel_1中间,这个图片就是基于Panel_1的锚点对齐了(这里的问题在于ccs里面子控件的位置 受父控件影响了)

然后我看了下代码,代码里面的设置坐标是
![](file:///C:\Users\Don\Documents\Tencent)

setPositionPercent: function (percent) {
this._positionPercent = percent;
if (this._running) {
var widgetParent = this.getWidgetParent();
if (widgetParent) {
var parentSize = widgetParent.getSize();
this.setPosition(parentSize.width * this._positionPercent.x, parentSize.height * this._positionPercent.y);
}
}
},

直接就是父控件的宽高乘以百分比,这里没有考虑到父控件锚点,导致刚才在ccs里面显示正确的layer,放到代码里面后,Image_2的中心点,则跑到Panel_1的左下角对齐了。

总结,就上面的例子来说,子控件位置在ccs中受到了父控件锚点的影响,而在代码里面,则不受父控件锚点影响,这个导致 ccs里面的布局和显示的布局不一样