cocos2d-x AnchorPoint锚点
锚点是定位和变换操作的一个重点。锚点我们能够看成用一根图钉将一张纸或者相片钉在墙上的那个点。
节点的位置是由我们设置的position和anchor point一起决定的。
值得一提的是,anchor point的默认位置Layer的是左下,而其它的node是中点。
节点的原点是父节点的左下角。
CCLayer* layer1 = CCLayerColor::create(ccc4(255,0,0,255), 300, 200);
CCLayer* layer2 = CCLayerColor::create(ccc4(255,255,0,255), 100, 100);
addChild(layer1);
layer1->addChild(layer2);

layer2->setPosition(50,50);

可见Layer的锚点是左下角,节点的原点是父节点的左下角。
再看一个:
CCSprite *p1 = CCSprite::create("HelloWorld.png", CCRectMake(100, 100, 100, 100));
CCSprite *p2 = CCSprite::create("girl1.png");
addChild(p1);
p1->addChild(p2); //p2作为p1的子节点
setPosition(200,200); // Layer 的原点移到200,200

设置锚点:
Layer和Sprite有不同,layer要设置锚点,必须先:ignoreAnchorPointForPosition(false);
CCLayer* layer1 = CCLayerColor::create(ccc4(255,0,0,255), 300, 200);
CCLayer* layer2 = CCLayerColor::create(ccc4(255,255,0,255), 100, 100);
addChild(layer1);
layer1->addChild(layer2);
/* layer1->ignoreAnchorPointForPosition(false);*/
layer1->setAnchorPoint(ccp(0.5,0.5));

CCLayer* layer1 = CCLayerColor::create(ccc4(255,0,0,255), 300, 200);
CCLayer* layer2 = CCLayerColor::create(ccc4(255,255,0,255), 100, 100);
addChild(layer1);
layer1->addChild(layer2);
layer1->ignoreAnchorPointForPosition(false);
layer1->setAnchorPoint(ccp(0.5,0.5));

而Sprite不用设置就可以。
CCSprite *p1 = CCSprite::create("HelloWorld.png", CCRectMake(100, 100, 100, 100));
CCSprite *p2 = CCSprite::create("girl1.png");
addChild(p1);
p1->addChild(p2);
p2->setAnchorPoint(ccp(1,1));
setPosition(200,200);

和前面第三个图比較一下就了解了。小女孩的锚点已经到了红色点位置
cocos2d-x AnchorPoint锚点的更多相关文章
- cocos2d anchor point 锚点解析
anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的.而在cocos2d中决定一个 图片的位置是由两个维度 一个 ...
- [转]anchorPoint 锚点解析
转自:http://blog.csdn.net/cjopengler/article/details/7045638 anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看 ...
- CALayer anchorPoint 锚点始终为(0,0)
objc.io 学习 摘自原处修改 对层的属性详细了解可见这里 @interface ClockFace : CAShapeLayer@property (nonatomic, strong) NSD ...
- CALayer 的 position和anchorPoint属性
在iOS 中,UIButton.UIImage等UIView 之所以能够显示在屏幕上,是因为其内部有一个图层(CALayer).通过UIView的layer 属性可以访问这个图层: @property ...
- [Think] position与anchorPoint关系
1.简介: 最近在学习动画,所以接触到了CAlayer类. 其中的position与anchorPoint关系一感觉一头雾水,网上有篇文章 彻底理解position和anchorPoint关系 里面 ...
- iOS:CALayer锚点的使用
CALayer层的位置主要和position和anchorPoint有关.其中它们在一起才能决定层在视图中的具体位置. @property CGPoint position; //位置 ...
- iOS AnchorPoint 引起的坐标问题
这里主要讨论设置AnchorPoint 改变时,会影响我们预期的布局问题: 一.初始代码布局 //参照页面 UIView *aView = [[UIView alloc]initWit ...
- [SpriteKit] 系统框架中Cocos2d-x制作小游戏ZombieConga
概述 使用SpriteKit实现一个简单的游戏, 通过一个游戏来进行SpriteKit的入门, 熟练2D游戏的API, 也可以更好的结合在iOS应用中. 详细 代码下载:http://www.demo ...
- iOS总结_UI层自我复习总结
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是 ...
随机推荐
- 1.Dubbo教程
转自:https://blog.csdn.net/hellozpc/article/details/78575773 2. 什么是dubbo 2.1. 简介 DUBBO是一个分布式服务框架,致力于提供 ...
- CODEVS——T 1993 草地排水 USACO
http://codevs.cn/problem/1993/ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 De ...
- 学习笔记:Vue——混入
前言: 到现在用Vue做了不少项目了,用到的都是初阶的功能,很多高阶能力都没有用到.仅用初级阶段也能做项目,甚至是复杂项目,可见vue之强大,果然是渐进式开发方式. 但是本着虚心学习的态度,还是要抽空 ...
- jQuery知识点汇总
$(this) 当前 HTML 元素 $("p") 所有 <p> 元素 $("p.intro") 所有 class="intro" ...
- JMeter--聚合报告之 90% Line 正确理解
90% Line 参数正确的含义: 虽然,我的上面理解有一定的道理,显然它(90% 用户的响应时间)是错误的.那看看JMeter 官网是怎么说的? 90% Line - 90% of the samp ...
- HibernateCRUD基础框架(3)-简单的和较为复杂的标准的CRUD API
优点:简单的和基础的CRUD功能可以很快实现,可以说是比较的"标准化".维护起来也很容易. 缺点:性能没有保障.不支持特别复杂的CRUD. 可以适用的场景:小型Web项目 1.Cr ...
- 20160206.CCPP体系具体解释(0016天)
代码片段(01):.指针.c+02.间接赋值.c 内容概要:内存 ///01.指针 #include <stdio.h> #include <stdlib.h> //01.取地 ...
- Codeforces Round #258 (Div. 2)——B. Sort the Array
B. Sort the Array time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- 10.1、android输入系统_必备Linux编程知识_inotify和epoll
1. inotify和epoll 怎么监测键盘接入与拔出? (1)hotplug机制:内核发现键盘接入/拔出==>启动hotplug进程==>发消息给输入系统 (2)inotify机制:输 ...
- IIS FTP匿名登录不成功
FTP网站没有开启匿名登录的权限,对你没有看错.可能你的虚拟目录已经设置了如下所示的内容: 但是,单击上右图时,在其功能视图中的FTP身份验证中,可能并未启用"匿名身份验证",如下右图所示.启动 ...