这两天看了下锚点的概念。

/**

* Sets the anchor point in percent.

*

* anchorPoint is the point around which all transformations and positioning manipulations take place.

* It's like a pin in the node where it is "attached" to its parent.

* The anchorPoint is normalized, like a percentage. (0,0) means the bottom-left corner and (1,1) means the top-right corner.

* But you can use values higher than (1,1) and lower than (0,0) too.

* The default anchorPoint is (0.5,0.5), so it starts in the center of the node.

*

* @param anchorPoint   The anchor point of node.

*/

virtual void setAnchorPoint(const CCPoint& anchorPoint);

anchorPoint is the point around which all transformations and positioning manipulations take place.

是为了在定位位置和翻转的时候用的参考点。

CCSprite* sprite5 = CCSprite::create("CloseNormal.png");

sprite5->setAnchorPoint( ccp(0.5,0.5) );

sprite5->setPosition(ccp(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2));

this->addChild(sprite5);

此时 (ccp(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2)) 点正在sprite5的中心点( ccp(0.5,0.5))

CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();

CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();

// 右上角

CCSprite* sprite1 = CCSprite::create("CloseSelected1.png");

sprite1->setAnchorPoint( ccp(0,0) );

sprite1->setPosition(ccp(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2));

this->addChild(sprite1);

// 左上角

CCSprite* sprite2 = CCSprite::create("CloseNormal.png");

sprite2->setAnchorPoint( ccp(1,0) );

sprite2->setPosition(ccp(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2));

this->addChild(sprite2);

// 左下角

CCSprite* sprite3 = CCSprite::create("CloseNormal.png");

sprite3->setAnchorPoint( ccp(1,1) );

sprite3->setPosition(ccp(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2));

this->addChild(sprite3);

// 右下角

CCSprite* sprite4 = CCSprite::create("CloseNormal.png");

sprite4->setAnchorPoint( ccp(0,1) );

sprite4->setPosition(ccp(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2));

this->addChild(sprite4);

// 中间

CCSprite* sprite5 = CCSprite::create("CloseNormal.png");

sprite5->setAnchorPoint( ccp(0.5,0.5) );

sprite5->setPosition(ccp(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2));

this->addChild(sprite5);

cocos2d中锚点概念的更多相关文章

  1. Cocos2D中节点Z序的计算规则

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...

  2. Cocos2D中Action的进阶使用技巧(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 大家对Cocos2d中动作的使用大概都很清楚了,其实本身act ...

  3. cocos2d中的坐标系统

    cocos2d中Layer的默认锚点是left.buttom sprite的锚点设置 setAnchorPoint(cc.p(0.5,0.5)); 默认锚点:中心 setAnchorPoint(cc. ...

  4. WebLogic 中的基本概念

    完全引用自: WebLogic 中的基本概念 WebLogic 中的基本概念 上周参加了单位组织的WebLogic培训,为了便于自己记忆,培训后,整理梳理了一些WebLogic的资料,会陆续的发出来, ...

  5. cocos2d中的可见性检测

    游戏的在进行一次渲染的时候,通常会提交大量的渲染对象给gpu.在这些需要渲染的对象中,并不是所有对象都会出现镜头中,即有一部分对象是不可见的. 通常有两种方式来完成不可见对象的剔除工作: (1)直接交 ...

  6. Web开发中的主要概念

    一.Web开发中的主要概念1.静态资源:一成不变的.html.js.css2.动态资源:JavaWeb.输出或产生静态资源.(用户用浏览器看到的页面永远都是静态资源) 3.JavaEE:十三种技术的集 ...

  7. Cocos2d 中的Sprite大小调整问题

    以前用UIImageView,比如  UIImageView *view = [[UIImageViewalloc] initWithImage:[UIImageimageNamed:@"b ...

  8. cocos2d 中判断CGPoint或者CGSize是否相等

    cocos2d 中判断CGPoint是否相等 调用CGPointEqualToPoint(point1, point2) 判断CGSize是否相等 调用CGSizeEqualToSize(size1, ...

  9. 理解SQL Server中索引的概念

    T-SQL查询进阶--理解SQL Server中索引的概念,原理以及其他   简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,SQL Server仍然可以实现应有的功能 ...

随机推荐

  1. AutoHotkey批量L版代码转H2的vim脚本

    原脚本尽量用表达式的语法写,错误会比较少,比如"If a=", "fun(a=1)"这种语法在V2会出错文件放vim的autoload目录下,可使用以下map使 ...

  2. 第一周 day1 Python学习笔记

    为什么要学习Python? Python擅长的领域 1. python2.x中不支持中文编码,默认编码格式为ASCII码,而python3.x中支持Unicode编码,支持中文,变量名可以为中文,如: ...

  3. Windows 10 X64 ISO 专业版&家庭版下载与永久激活

    好久没有更新博客,算算时间,已经有4年了,好吧,今天突发奇想,想把今天安装Windows 10的过程给记录下来. 2015年的时候,微软就发布了Windows 10,当时正版的Win7.Win8都可以 ...

  4. [EffectiveC++]item33:避免遮掩继承而来的名称。

    先看看: ZT C++ 重载.覆盖和隐藏的区别 http://www.cnblogs.com/jeanschen/p/3405987.html 隐藏是指派生类的函数屏蔽了与其同名的基类函数,规则如下: ...

  5. Ios国际化翻译工具

    IOS Translation Tool(IOS国际化翻译工具) 介绍 当IOS项目国际化的时候,手工去翻译每一个字符串是一件非常痛苦的事情.尤其是当项目中存在N多种语言.而且又很难保证,手工翻译的准 ...

  6. 在WAS控制台,环境下添加新的虚拟主机别名

    错误现象: 11/16/13 16:52:22:612 CST] 00000021 util          W com.ibm.ws.webcontainer.util.VirtualHostCo ...

  7. 一对一关联关系基于主键映射的异常 IdentifierGenerationException

    具体异常:org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one pro ...

  8. miniui dataGrid drawcell事件

    var grid = mini.get("tpaTotal2_grid");        //grid.load();        //单元格绘制事件        grid. ...

  9. 【[USACO08NOV]奶牛混合起来Mixed Up Cows】

    首先我们能够一眼看到4 <= N <= 16,那么就是它了,我们要压缩的状态就是它了 那么之后能我们用这个状态表示什么呢,我们要表示的显然是每只奶牛是否在队伍中 比如说10吧,转成二进制后 ...

  10. 命令行参数技巧:__argc,__argv

    几个可以使用的全局变量: _CRTIMP extern int __argc; /* count of cmd line args */ _CRTIMP extern char ** __argv; ...