转自:http://blog.csdn.net/cjopengler/article/details/7045638

anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的。而在cocos2d中决定一个 图片的位置是由两个维度 一个是 position 也就是图片的中心点 另外一个是anchor point。只要我们搞清楚他们的关系,自然就迎刃而解。

他们的关系是这样的:

actualPosition.x = position.x + width*(0.5 - anchor_point.x);
acturalPosition.y = position.y + height*(0.5 - anchor_point.y);
//actualPosition 是sprite实际上在屏幕显示的位置, poistion是 程序设置的, achor_point也是程序设置的。

具体看下面的例子一:

CCSprite *sprite = [CCSprite spritewithFile:@"blackSquare.png"];
sprite.position=ccp(,);
sprite.anchorPoint=ccp(,);
[self addChild:sprite];

具体效果如下:

根据上面的公式: 假设精灵的width = height = 10.

actualPosition.x =  + *(0.5 - ) = ;

actualPosition.y  =  + *(0.5 - ) = ; 

(5, 5) 这个结果正是现在图片的在屏幕上的实际位置。

CCSprite *sprite = [CCSprite spritewithFile:@"blackSquare.png"];
sprite.position=ccp(,);
sprite.anchorPoint=ccp(-,-);
[self addChild:sprite];

具体效果如下:

根据上面的公式: 假设精灵的width = height = 10.

actualPosition.x =  + *(0.5 - (-)) = ;

actualPosition.y  =  + *(0.5 - (-)) = ; 

(15, 15) 这个结果正是现在图片的在屏幕上的实际位置。

例子三

CCSprite *sprite = [CCSprite spritewithFile:@"blackSquare.png"];
sprite.anchorPoint=ccp(,);
sprite.position=ccp(sprite.contentSize.width , sprite.contentSize.height);
[self addChild:sprite];

根据上面的公式: 假设精灵的width = height = 10.

actualPosition.x =  + *(0.5 - ()) = ;

actualPosition.y  =  + *(0.5 - ()) = ; 

(5, 5) 这个结果正是现在图片的在屏幕上的实际位置。

[转]anchorPoint 锚点解析的更多相关文章

  1. cocos2d anchor point 锚点解析

    anchor point 究竟是怎么回事? 之所以造成不容易理解的是因为我们平时看待一个图片是 以图片的中心点 这一个维度来决定图片的位置的.而在cocos2d中决定一个 图片的位置是由两个维度 一个 ...

  2. CALayer anchorPoint 锚点始终为(0,0)

    objc.io 学习 摘自原处修改 对层的属性详细了解可见这里 @interface ClockFace : CAShapeLayer@property (nonatomic, strong) NSD ...

  3. cocos2d-x AnchorPoint锚点

    锚点是定位和变换操作的一个重点.锚点我们能够看成用一根图钉将一张纸或者相片钉在墙上的那个点. 节点的位置是由我们设置的position和anchor point一起决定的. 值得一提的是,anchor ...

  4. CALayer 的 position和anchorPoint属性

    在iOS 中,UIButton.UIImage等UIView 之所以能够显示在屏幕上,是因为其内部有一个图层(CALayer).通过UIView的layer 属性可以访问这个图层: @property ...

  5. [Think] position与anchorPoint关系

    1.简介: 最近在学习动画,所以接触到了CAlayer类. 其中的position与anchorPoint关系一感觉一头雾水,网上有篇文章 彻底理解position和anchorPoint关系  里面 ...

  6. iOS:CALayer锚点的使用

    CALayer层的位置主要和position和anchorPoint有关.其中它们在一起才能决定层在视图中的具体位置. @property CGPoint position;         //位置 ...

  7. iOS AnchorPoint 引起的坐标问题

    这里主要讨论设置AnchorPoint 改变时,会影响我们预期的布局问题: 一.初始代码布局     //参照页面     UIView *aView = [[UIView alloc]initWit ...

  8. 简析iOS动画原理及实现——Core Animation

    本文转载至 http://www.tuicool.com/articles/e2qaYjA 原文  https://tech.imdada.cn/2016/06/21/ios-core-animati ...

  9. cocos2d-x 3.0 Node与Node层级结构

    节点解释: 节点是场景图的基本元素.场景图的基本元素必须是节点对象或者是节点对象的子类. 其中主要可以看到Layer.MenuItem.Scene.Sprite.TMXTiledMap(解析and渲染 ...

随机推荐

  1. ASP.NET 解决URL中文乱码的解决

    暂时先记录一个方法: 在Web.config文件中configuration下的system.web下加入一个配置项:globalization,主要是设置其requestEncoding,貌似中文系 ...

  2. 给 Android 开发人员的 RxJava 具体解释

    鉴于 RxJava 眼下这样的既火爆又神奇的现状,而我又在一年的使用过程中对 RxJava 有了一些理解,我决定写下这篇文章来对 RxJava 做一个相对具体的.针对 Android 开发人员的介绍. ...

  3. 【Linux】 无密码SCP在Crontab中失效的解决办法

    一.缘由: 之前由于服务器只能密钥登陆,并限制root账户登陆,故用SSH打通了所有服务器,实现了公钥转发scp免输密码等,极大方便了服务器的管理. 最近有个需求,是做数据的异地备份.最简单的用scp ...

  4. [MySQL] MySQL中关于外键报错的解决和建议

    一.缘由 今天在恢复从库和主库不同步的数据时,看到关于外键的报错. ERROR 1451 (23000): Connot delete or update a parent row: a foreig ...

  5. Spring Cloud Summary

    Spring Cloud Summary https://cloud.spring.io/spring-cloud-static/Finchley.RC1/single/spring-cloud.ht ...

  6. 【HBase】Rowkey设计【转】

    本章将深入介绍由HBase的存储架构在设计上带来的影响.如何设计表.row key.column等等,尽可能地使用到HBase存储上的优势. Key设计 HBase有两个基础的主键结构:row key ...

  7. 复习,关于server.xml的一点理解

    刚才在思考,我所写的一些java代码存放在了eclipse的一个workspace的目录下,这个目录下还包含我的web-project的所有html和jsp文件,以及/WEB-ROOT/WEB-INF ...

  8. 由sqlite在手机上的存储位置,引发的onCreate在哪里执行的小结

    我们都知道,android为了操作数据库,一般是继承SQLiteOpenHelper类,并实现他的三个函数. 如下所示: package jz.his.db; import android.conte ...

  9. Android开发日记(二)

    HashMap<String, Object> map;定义一个HashMap用来传递字符 TextView textView_JobTitle=(TextView)findViewByI ...

  10. windows下好用的markdown编辑器

    Markdown是一种用来写作的轻量级[标记语言],它用简洁的语法代替了排版.字体设置,使我们可以专心写作,目前被越来越多的开发者,写作爱好者使用.Markdown的语法十分简单,常用的标记不超过十个 ...