请教个问题,我有一个加载了ui界面的场景,程序里读取后,我获得了一个按钮,然后我想更改这个按钮的位置,但无效?但是我在按钮的响应函数里更改位置就可以?
详见代码,第19行改变了位置无效:
// 一个 layer 的构造函数
ctor: function(){
// 读场景
this._curNode = ccs.SceneReader.getInstance().createNodeWithSceneFile('Scene/GameLogin.json');
// 获取挂着ui组件的对象。
var uiObj = this._curNode.getChildByTag(10040);
// 获取ui节点。
var uiNode = uiObj.getComponent("GUIComponent").getNode();
// 获取一个按钮
var quickLogin_Button = ccui.Helper.seekWidgetByName(uiNode, "quickLogin_Button");
var pos1 = quickLogin_Button.getPosition();
cc.log('pos1: ' + pos1.x + ', ' + pos1.y); // 这里打印 811, 373 是编辑器里设定的位置
// 改变按钮位置不起作用!!!!
quickLogin_Button.setPosition(cc.p(110, 111))
// 注册响应函数
quickLogin_Button.addTouchEventListener(function(){
var pos2 = quickLogin_Button.getPosition();
cc.log('pos2: ' + pos2.x + ', ' + pos2.y); // 这里打印 812.7999877929688, 374.20001220703125 很诡异的值,不知道是谁改的。
quickLogin_Button.setPosition(110, 111);
var pos = quickLogin_Button.getPosition(); cc.log(pos.x + ', ' + pos.y);
}, this);
}