原文地址:
http://blog.csdn.net/allenice1/article/details/7727052
作者:Allenice1
添加三个layer:
复制代码
增加一行代码,改变layer2的位置:
复制代码
效果如图:
改变一下layer2_1的位置:
复制代码
可以看出,layer默认的定位是left、buttom,即与父元素的left、bottom为坐标原点。我尝试过用setAnchorPoint改变锚点,但是没有成功,不知道为什么。
现在看看Sprite的定位。
新建一个Sprite:
复制代码
看出Sprite的锚点是它的中心位置,坐标原点是父元素的左下角。
改一下锚点:
复制代码
诶!!!不见了???,因为默认的位置是(0,0),所以飞机应该是在某个地方。
设置一下飞机的位置:
复制代码
jetSprite.setPosition(new cc.Point(100,0));的意思是向右移动100,结果看出,jetSprite.setAnchorPoint(new cc.Point(1,0));将锚点设置成right、bottom
sprite的锚点设置
复制代码
复制代码
锚点:left、bottom(左下角)
复制代码
复制代码
复制代码
作者:Allenice1
cocos2d中坐标原点和Layers的锚点是left、buttom。
添加三个layer:
- var layer1=cc.LayerColor.create(cc.ccc4(255,255,0,255),320,480);
- var layer2=cc.LayerColor.create(cc.ccc4(255,0,0,255),100,100);
- var layer2_1=cc.LayerColor.create(cc.ccc4(0,255,0,255),50,50);
-
- this.addChild(layer1);
- layer1.addChild(layer2);
- layer2.addChild(layer2_1);
效果如图:
![](https://img-my.csdn.net/uploads/201207/08/1341747761_8776.png)
增加一行代码,改变layer2的位置:
- layer2.setPosition(cc.ccp(100,100));
![](https://img-my.csdn.net/uploads/201207/08/1341747968_2986.png)
改变一下layer2_1的位置:
- layer2_1.setPosition(cc.ccp(25,25));
效果如图:
![](https://img-my.csdn.net/uploads/201207/08/1341748601_1226.png)
可以看出,layer默认的定位是left、buttom,即与父元素的left、bottom为坐标原点。我尝试过用setAnchorPoint改变锚点,但是没有成功,不知道为什么。
现在看看Sprite的定位。
新建一个Sprite:
- var jetSprite=cc.Sprite.create("Resources/jet.png");
- layer1.addChild(jetSprite);
初始位置如图:
![](https://img-my.csdn.net/uploads/201207/08/1341749041_3361.png)
看出Sprite的锚点是它的中心位置,坐标原点是父元素的左下角。
改一下锚点:
- jetSprite.setAnchorPoint(new cc.Point(1,0));
效果如图:
![](https://img-my.csdn.net/uploads/201207/08/1341748601_1226.png)
诶!!!不见了???,因为默认的位置是(0,0),所以飞机应该是在某个地方。
设置一下飞机的位置:
- jetSprite.setPosition(new cc.Point(100,0));
效果如图:
![](https://img-my.csdn.net/uploads/201207/08/1341749714_5108.png)
jetSprite.setPosition(new cc.Point(100,0));的意思是向右移动100,结果看出,jetSprite.setAnchorPoint(new cc.Point(1,0));将锚点设置成right、bottom
sprite的锚点设置
- jetSprite.setAnchorPoint(new cc.Point(0.5,0.5));
默认锚点:中心
- jetSprite.setAnchorPoint(new cc.Point(0,0));
- jetSprite.setAnchorPoint(new cc.Point(0,1));
锚点:left、top(左上角)
- jetSprite.setAnchorPoint(new cc.Point(1,0));
锚点:right、bottom(右下角)
- jetSprite.setAnchorPoint(new cc.Point(1,1));
锚点:right、top(右上角)