cocos2d-html5学习笔记(三)--cocos2d中的坐标系统
2014-09-05 13:40
302 查看
cocos2d中Layer的默认锚点是left、buttom,其他的节点(node)是中点。至于坐标原点是父节点left、buttom。(这里要注意,并不是所有的节点的坐标原点都是父节点的左下角,比如:cc.MenuItem是以cc.Menu的锚点为原点)
添加三个layer:
[javascript]
view plaincopy
var layer1=cc.LayerColor.create(cc.c4(255,255,0,255),320,480);
var layer2=cc.LayerColor.create(cc.c4(255,0,0,255),100,100);
var layer2_1=cc.LayerColor.create(cc.c4(0,255,0,255),50,50);
this.addChild(layer1);
layer1.addChild(layer2);
layer2.addChild(layer2_1);
效果如图:
增加一行代码,改变layer2的位置:
[javascript]
view plaincopy
layer2.setPosition(cc.p(100,100));
效果如图:
改变一下layer2_1的位置:
[javascript]
view plaincopy
layer2_1.setPosition(cc.p(25,25));
效果如图:
可以看出,layer默认的锚点是left、buttom,父节点的left、buttom为坐标原点。默认Layer不能改变锚点的,如果想改变锚点的话,需要这样做:layer.ignoreAnchorPointForPosition(false);
现在看看Sprite的定位。
新建一个Sprite:
[javascript]
view plaincopy
var jetSprite=cc.Sprite.create("Resources/jet.png");
layer1.addChild(jetSprite);
初始位置如图:
看出Sprite的锚点是它的中心位置,坐标原点是父元素的左下角。
改一下锚点:
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(1,0));
效果如图:
诶!!!不见了???,因为默认的位置是(0,0),所以飞机应该是在某个地方。
设置一下飞机的位置:
[javascript]
view plaincopy
jetSprite.setPosition(cc.p(100,0));
效果如图:
jetSprite.setPosition(cc.p(100,0));的意思是向右移动100,结果看出,jetSprite.setAnchorPoint(cc.p(1,0));将锚点设置成right、bottom
sprite的锚点设置
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(0.5,0.5));
默认锚点:中心
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(0,0));
锚点:left、bottom(左下角)
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(0,1));
锚点:left、top(左上角)
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(1,0));
锚点:right、bottom(右下角)
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(1,1));
锚点:right、top(右上角)
我觉得用cc.p(x,x)这样设置锚点有点记不住这么设置,所有我一般将常用的锚点做成一个对象:
[javascript]
view plaincopy
var Anchor = {};
Anchor.LEFT_TOP = cc.p(0,1);
Anchor.RIGHT_TOP = cc.p(1, 1);
Anchor.RIGHT_BOTTOM = cc.p(1, 0);
Anchor.LEFT_BOTTOM = cc.p(0, 0);
Anchor.MIDDLE = cc.p(0.5, 0.5);
添加三个layer:
[javascript]
view plaincopy
var layer1=cc.LayerColor.create(cc.c4(255,255,0,255),320,480);
var layer2=cc.LayerColor.create(cc.c4(255,0,0,255),100,100);
var layer2_1=cc.LayerColor.create(cc.c4(0,255,0,255),50,50);
this.addChild(layer1);
layer1.addChild(layer2);
layer2.addChild(layer2_1);
效果如图:
增加一行代码,改变layer2的位置:
[javascript]
view plaincopy
layer2.setPosition(cc.p(100,100));
效果如图:
改变一下layer2_1的位置:
[javascript]
view plaincopy
layer2_1.setPosition(cc.p(25,25));
效果如图:
可以看出,layer默认的锚点是left、buttom,父节点的left、buttom为坐标原点。默认Layer不能改变锚点的,如果想改变锚点的话,需要这样做:layer.ignoreAnchorPointForPosition(false);
现在看看Sprite的定位。
新建一个Sprite:
[javascript]
view plaincopy
var jetSprite=cc.Sprite.create("Resources/jet.png");
layer1.addChild(jetSprite);
初始位置如图:
看出Sprite的锚点是它的中心位置,坐标原点是父元素的左下角。
改一下锚点:
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(1,0));
效果如图:
诶!!!不见了???,因为默认的位置是(0,0),所以飞机应该是在某个地方。
设置一下飞机的位置:
[javascript]
view plaincopy
jetSprite.setPosition(cc.p(100,0));
效果如图:
jetSprite.setPosition(cc.p(100,0));的意思是向右移动100,结果看出,jetSprite.setAnchorPoint(cc.p(1,0));将锚点设置成right、bottom
sprite的锚点设置
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(0.5,0.5));
默认锚点:中心
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(0,0));
锚点:left、bottom(左下角)
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(0,1));
锚点:left、top(左上角)
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(1,0));
锚点:right、bottom(右下角)
[javascript]
view plaincopy
jetSprite.setAnchorPoint(cc.p(1,1));
锚点:right、top(右上角)
我觉得用cc.p(x,x)这样设置锚点有点记不住这么设置,所有我一般将常用的锚点做成一个对象:
[javascript]
view plaincopy
var Anchor = {};
Anchor.LEFT_TOP = cc.p(0,1);
Anchor.RIGHT_TOP = cc.p(1, 1);
Anchor.RIGHT_BOTTOM = cc.p(1, 0);
Anchor.LEFT_BOTTOM = cc.p(0, 0);
Anchor.MIDDLE = cc.p(0.5, 0.5);
相关文章推荐
- cocos2d-html5学习笔记(三)--cocos2d中的坐标系统
- cocos2d-html5学习笔记(三)--cocos2d中的坐标系统
- cocos2d-X学习之坐标系统
- 【iOS-Cocos2d游戏开发之十】添加粒子特效并解决粒子系统特效与Layer之间的坐标问题;
- cocos2d-x坐标系统
- 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
- 【iOS-Cocos2d游戏开发之十】添加粒子特效并解决粒子系统特效与Layer之间的坐标问题;
- iPhone应用Cocos2D坐标系统设置
- cocos2d-X学习之坐标系统
- Cocos2d坐标系统
- Cocos2d坐标系统
- cocos2d-x坐标系统
- cocos2D坐标系统
- Cocos2d-x 详解坐标系统
- cocos2d中的坐标系统
- 【Cocos2d-x-基础概念】坐标系统
- 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
- 【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;
- 【Cocos2d游戏开发之十】添加粒子特效并解决粒子系统特效与Layer之间的坐标问题;
- (转)cocos2d-X学习之坐标系统