cocos2d-x AnchorPoint锚点】的更多相关文章

anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的.而在cocos2d中决定一个 图片的位置是由两个维度 一个是 position  另外一个是anchor point.只要我们搞清楚他们的关系,自然就迎刃而解. 默认情况下,anchor point在图片的中心位置(0.5, 0.5),取值在0到1之间的好处就是,锚点不会和具体物体的大小耦合,也即不用关注物件大小,而应取其对应比率,如果把锚点改成(0,0)…
转自:http://blog.csdn.net/cjopengler/article/details/7045638 anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的.而在cocos2d中决定一个 图片的位置是由两个维度 一个是 position 也就是图片的中心点 另外一个是anchor point.只要我们搞清楚他们的关系,自然就迎刃而解. 他们的关系是这样的: actualPosition.x =…
objc.io 学习 摘自原处修改 对层的属性详细了解可见这里 @interface ClockFace : CAShapeLayer@property (nonatomic, strong) NSDate *time;@end @interface ClockFace ()@property (nonatomic, strong) CAShapeLayer *hourHand;@property (nonatomic, strong) CAShapeLayer *minuteHand;@end…
锚点是定位和变换操作的一个重点.锚点我们能够看成用一根图钉将一张纸或者相片钉在墙上的那个点. 节点的位置是由我们设置的position和anchor point一起决定的. 值得一提的是,anchor point的默认位置Layer的是左下,而其它的node是中点. 节点的原点是父节点的左下角. CCLayer* layer1 = CCLayerColor::create(ccc4(255,0,0,255), 300, 200); CCLayer* layer2 = CCLayerColor::…
在iOS 中,UIButton.UIImage等UIView 之所以能够显示在屏幕上,是因为其内部有一个图层(CALayer).通过UIView的layer 属性可以访问这个图层: @property(nonatomic,readonly,retain) CALayer *layer; 当UIView需要显示到屏幕上时,会调用 drawRect: 方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝的屏幕上,于是就完成了UIView的显示. UIView中有两个容易混淆…
1.简介: 最近在学习动画,所以接触到了CAlayer类. 其中的position与anchorPoint关系一感觉一头雾水,网上有篇文章 彻底理解position和anchorPoint关系  里面讲的很通俗易懂,我也是看了这篇文章后总结出了自己一个阐述两者关系的现实映射.vv 2.总结 我们要往墙上钉一块板,有一颗钉子,钉子强度不能破墙.所以事先需要在墙上敲一个洞. 钉子钉下去的点类比:anchorPoint  锚点 墙上的洞的位置类比:position 板类比为:subLayer 墙类比为…
CALayer层的位置主要和position和anchorPoint有关.其中它们在一起才能决定层在视图中的具体位置. @property CGPoint position;         //位置 @property CGPoint anchorPoint;  //锚点 锚点的范围:(0.0~1.0) 具体的演示如下: 1.采用默认的锚点(0.5,0.5) - (void)viewDidLoad { [super viewDidLoad]; //添加子层 CALayer *subLayer…
这里主要讨论设置AnchorPoint 改变时,会影响我们预期的布局问题: 一.初始代码布局     //参照页面     UIView *aView = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];     aView.backgroundColor = [UIColor redColor];     [self.view addSubview:aView];          UIView *bView = [[UIV…
概述 使用SpriteKit实现一个简单的游戏, 通过一个游戏来进行SpriteKit的入门, 熟练2D游戏的API, 也可以更好的结合在iOS应用中. 详细 代码下载:http://www.demodashi.com/demo/10667.html 今天我们进入一个全新的系列,先熟悉SpriteKit,然后再看实战的游戏案例. 一.了解SpriteKit 本期的内容就是使用SpriteKit实现一个简单的游戏, 通过一个游戏来进行SpriteKit的入门, 熟练2D游戏的API, 也可以更好的…
UI层复习笔记 在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是整个应用程序的一个抽象,负责存储应用程序的状态. 根据第四个参数创建了一个应用程序代理类对象 所谓代理,及帮助另一个对象做事情.上面第一步中创建的应用程序对象只负责存储应用程序的状态,但不提供响应,而是给代理发消息,由代理负责针对不同的状态提供响应.比如说:程序一启动,代理就要响应一下,说明弹出的第…
是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值,就可以实现CALayer的某一属性按照一串的数值进行动画,就好像制作动画的时候一帧一帧的制作一样. 几个关键属性: values:就是上述的NSArray对象.里面的元素称为”关键帧”(keyframe).动画对象会在指定的时间…
一.图层的几何 图层的几何简单通俗,图层的所有几何属性(包括矩阵变换),都可以有隐式和显式动画. 图层几何的属性: 1.position是CGPoint值,她指定图层相对于她图层的位置,该值基于父图层的坐标系. 2.bounds是CGRect值,她指定图层的原点(bounds.size)和图层的原点(bounds.origin - 当重写图层的drawRect的时候,bounds.origin可以作为图形上下文的原点). 3.frame是隐式的属性,她是position,bounds,ancho…
1. 简单动画 1> UIImageView GIF 动画 GIF图的原理是:获取图片,存储在图片数组中,按照图片数组的顺序将图片以一定的速度播放 UIImageView *showGifimageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )]; [self.view addSubview:showGifimageView]; // 创建一个存储图片的数组 NSMutableArray *saveImageArray =…
CAMediaTiming是一个协议(protocol),CAAnimation是所有动画类的父类,但是它不能直接使用,应该使用它的子类. 继承关系: CoreAnmiation 核心动画 简写CA                                                                                                         CoreAnimation 中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做…
CAlayer层的属性:anchorPoint(锚点)   CAlayer *view; 1.决定着CALayer上的哪个点会在position属性所指的位置(设置以后旋转动画,就是以锚点为中心旋转) 2.锚点默认(0.5 ,0.5)它就是一个比例 3.锚点计算:(x,y) x = 屏幕的x点/屏幕的宽 即x 与屏幕的比例 y =  屏幕的x点/屏幕的高  即y与屏幕的比例 4.锚点的(position)中心点:(获得父视图的宽*锚点的x ,获得父视图的高*锚点的y)-----(CGRectGe…
transform的结构如下:struct CATransform3D{  CGFloat m11, m12, m13, m14;  CGFloat m21, m22, m23, m24;  CGFloat m31, m32, m33, m34;  CGFloat m41, m42, m43, m44;}; 首先要实现view(layer)的透视效果(就是近大远小),是通过设置m34的: CATransform3D rotationAndPerspectiveTransform = CATran…
1.CALayer //每一个UIView,都存在一个CALayer.(主层) //CALayer的功能 描边,圆角,阴影... //CALayer 属于QuartzCore绘图框架 //明明有UIColor,为啥用CGColorRef?CGColorRef属于QuartzCore,可以使用在mac上. UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; ima…
UIDynamic 是从iOS 7开始引入的一种新技术,属于UIKit框架,可以模拟现实生活中的物理现象,如:碰撞.抖动.摆动等 动力效果:有一个效果器,叫做“动力效果器”里面面可以添加“动力效果” 动力效果:可以将上一个效果移除 动力效果:可以叠加多个效果 ------------------------------------------ 使用UIDynamic 基本步骤: 1.创建一个动力效果器(UIDynamicAnimator) 2.创建动力效果(Behavior)添加到对应的视图上…
UIPushBehavior :推动效果 UIAttachmentBehavior:附着效果 UISnapBehavior:迅速移动效果 一.重要的属性 UIPushBehavior :推动效果 typedef NS_ENUM(NSInteger, UIPushBehaviorMode) { UIPushBehaviorModeContinuous, 持续的力 UIPushBehaviorModeInstantaneous 瞬间的力 } NS_ENUM_AVAILABLE_IOS(7_0); @…
环境搭建 http://4137613.blog.51cto.com/4127613/751149 Cocos2d-x初探,HelloWorld解读 http://www.cnblogs.com/Kenfly/archive/2012/10/07/2714019.html Cocos2d-x 程序是如何开始运行与结束的 http://blog.leafsoar.com/archives/2013/05-05.html cocos2d anchor point 锚点解析 http://blog.c…
原文链接:http://www.jianshu.com/p/7c3ee5e67d03. 自己看的. 1,打印View所有子视图 po [[self view]recursiveDescription] 2,layoutSubviews调用的调用时机 * 当视图第一次显示的时候会被调用 * 当这个视图显示到屏幕上了,点击按钮 * 添加子视图也会调用这个方法 * 当本视图的大小发生改变的时候是会调用的 * 当子视图的frame发生改变的时候是会调用的 * 当删除子视图的时候是会调用的 3,NSStr…
CoreAnimation 图层几何学 博客园MakeDown支持不佳,如有需要请进GitHub 图层几何所讲主要是有关图层的位置,尺寸等几何类属性. 布局 在UIView中与位置,尺寸有关的属性有 frame bounds center在此不多赘述,在CALayer中同样有与其相对应的属性 frame bounds position 需要注意的是 center与position 虽然字面表达不一样,但是其功能是一致的,为了更加清晰的展示以上内容,我在故事板中创建一个有色UIView. 图片一…
本文转载至 http://www.tuicool.com/articles/e2qaYjA 原文  https://tech.imdada.cn/2016/06/21/ios-core-animation/ 主题 Core Animation 背景 随着达达业务的扩大,越来越多的人开始使用达达客户端,参加到众包物流的行业中.达达客户端分为iOS平台和安卓平台. APP开发也从快速迭代的粗旷性开发转向高可复用,提升用户提现的精细化方向发展.iOS动画交互良好,使用广泛,良好的用户体验离不开流畅的界…
CHENYILONG Blog CALayer---iOS-Apple苹果官方文档翻译之CALayer CALayer /*技术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilong */   CALayer简介 Core Animation是跨平台的,支持iOS环境和Mac OS X环境! 注意:凡是支持跨平台的框架,都不能直接使用UIKit框架,因为UIKit 框架只能应用在iOS而不能用于Mac!…
在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是整个应用程序的一个抽象,负责存储应用程序的状态. 根据第四个参数创建了一个应用程序代理类对象 所谓代理,及帮助另一个对象做事情.上面第一步中创建的应用程序对象只负责存储应用程序的状态,但不提供响应,而是给代理发消息,由代理负责针对不同的状态提供响应.比如说:程序一启动,代理就要响应一下,说明弹出的第一个界面是谁.…
节点解释: 节点是场景图的基本元素.场景图的基本元素必须是节点对象或者是节点对象的子类. 其中主要可以看到Layer.MenuItem.Scene.Sprite.TMXTiledMap(解析and渲染TMX地图).ParticleSystem(粒子系统基类)等等 Node是这些类的根类 节点的基本操作 创建节点   Node* childNode = Node::Create(); 增加新的子节点   node->addChild(childNode,z深度,tag); 查找子节点   Node…
iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结(五) UIView和CALayer的关系 在iOS中一个UIView对应着一个CALayer,视图的职责就是创建并管理这个图层,以确保当子视图在层级关系中添加或者被移除的时候,他们关联的图层也同样对应在层级关系树当中有相同的操作.实际上这些背后关联的图层才是真正用来在屏幕上显示和做动画,UIView…
一.屏幕适配(autoLayout+sizeClass) 1.目前市面上的主流布局形式: a. frame 布局,通过代码计算(老程序员习惯使用) b. autoLayout(新的出现)与sizeClass的结合使用,完美的解决了不同尺寸屏幕横竖屏的问题 2.autoLayout的核心概念 a.参照 b.约束 autoLayout的警告和错误 警告:控件的当前的frame,与约束设置的不匹配,就会导致错误,比如:约束空间的高度为200,但控件当前的高度为300,类似这种就会给出解决方案 错误:…
与2.x相比,节点类Node的属性和功能做了大幅度的修改与增加. Node类是绝大部分类的父类(并不是所有的类,例如Director类是直接继承Ref类的),如Scene.Layer.Sprite以及精灵集合SpriteBatchNode等等等等的父类都是Node. Node类包含了一些基本的属性.节点相关.Action动作的执行.以及定时器等相关的操作. 当然Node也有父类,其父类为Ref. 继承关系如下: 一个节点的主要特点: > 他们可以包含其他的节点对象(addChild, getCh…
1.锚点通常是图形的几何中心, AnchorPoint(x,y)的两个参量x和y的取值通常都是0到1之间的实数,表示锚点相对于节点长宽的位置. 例如,把节点左下角作为锚点,值为(0,0): 把节点的中心作为锚点,值为(0.5,0.5): 把节点右下角作为锚点,值为(1,0). 精灵的AnchorPoint默认值为(0.5,0.5),其他节点的默认值为(0,0),如CCLayer. 相关的操作:setAnchorpoint(0,0); 影响: 1.挂载位置,   2.缩放,     3.旋转 2.…