在cocos2d-html5中,Scene和Layer的默认锚点是(left,bottom),而其它节点(Node)的默认锚点是(center,center)。无论是Layer还是其它节点,其坐标原点都是父节点的左下角,即(left,bottom)。只是有一个例外,cc.MenuItem是以cc.Menu的锚点为坐标原点。
首先测试Layer:
- // 获取尺寸
- this.winSize = cc.Director.getInstance().getWinSize();
- // 灰色层
- this.layer1 = cc.LayerColor.create(cc.c4(200,200,255),this.winSize.width,this.winSize.height);
- this.addChild(this.layer1,0);
- // 绿色层
- this.layer2 = cc.LayerColor.create(cc.c4(0,255,0,200);
- this.addChild(this.layer2,1);
运行结果:
改变layer2的位置:
- this.layer2.setPosition(200,200);
运行结果:
默认情况下,Scene和Layer是不能设置锚点的,要想设置锚点可以使用方法ignoreAnchorPointForPosition(newValue)。
- 参数newValue
- false:锚点可设置
- true:锚点被强制设置为(0,0),无法改变
测试Sprite:
- // 添加精灵
- this.sprite = cc.Sprite.create("res/bear.png");
- this.addChild(this.sprite);
运行结果:
改变sprite的位置:
- this.sprite.setPosition(cc.p(100,100));
运行结果: