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.忽略锚点:

spr->ignoreAnchorPointForPosition(true);

对于CCLayer默认是忽略锚点的,忽略锚点则锚点位置在(0,0)

注意:忽略锚点,锚点位置不在几何中心,而在原点

myAnchorPoint.h

#pragma once
#include "cocos2d.h"
USING_NS_CC;class MyAnchorPoint:public CCLayer
{
public:static CCScene * scene();static MyAnchorPoint *create();bool init();/*原始绘图*/void draw();/*屏幕尺寸的大小*/CCSize winSize;};

myAnchorPoint.cpp

#include "MyAnchorPoint.h"/*创建一个场景*/
CCScene * MyAnchorPoint::scene()
{CCScene * scene = CCScene::create();MyAnchorPoint * layer = MyAnchorPoint::create();/*获取默认情况下的位置,即锚点的位置所在*/CCLog("x=%g,y=%g", layer->getPositionX(), layer->getPositionY());/*CCLayer是默认忽略锚点的*/layer->ignoreAnchorPointForPosition(false);scene->addChild(layer);return scene;
}/*创建一个图层*/
MyAnchorPoint *MyAnchorPoint::create()
{MyAnchorPoint * pRet = new MyAnchorPoint();if (pRet && pRet->init()){pRet->autorelease();}else{delete pRet;pRet = NULL;}return pRet;
}/*初始化图层*/
bool MyAnchorPoint::init()
{/*先初始化父类*/CCLayer::init();/*获取屏幕尺寸的大小*/winSize = CCDirector::sharedDirector()->getWinSize();/*创建一个精灵,测试锚点对挂载位置的影响*///CCSprite *spr = CCSprite::create("anchor3.png");/*创建一个精灵,测试锚点对缩放的影响*//*CCSprite *spr = CCSprite::create("anchor1.png");spr->setScale(2.0f);*//*创建一个精灵,测试锚点对旋转的影响*/CCSprite *spr = CCSprite::create("anchor2.png");/*以锚点为支点旋转30度*///spr->setRotation(30.0f);/*开启忽略锚点,测试忽略锚点对精灵的影响*/spr->ignoreAnchorPointForPosition(true);/*设置精灵的位置*/spr->setPosition(ccp(winSize.width/2, winSize.height/2));/*设置锚点不同,挂载位置则不同,默认锚点是在几何中心*///spr->setAnchorPoint(ccp(0, 0));//spr->setAnchorPoint(ccp(0, 1));/*spr->setAnchorPoint(ccp(1, 0));spr->setAnchorPoint(ccp(1, 1));*//*将精灵添加进图层*/this->addChild(spr);return true;}void MyAnchorPoint::draw()
{/*设置绘图的颜色,默认为白色*/ccDrawColor4B(255, 0, 0, 255);/*画线*/ccDrawLine(ccp(0, winSize.height / 2), ccp(winSize.width,winSize.height/2));ccDrawColor4B(255, 255, 0, 255);ccDrawLine(ccp(winSize.width/2, 0), ccp(winSize.width/2, winSize.height));}

转载于:https://www.cnblogs.com/ttss/p/4066214.html

什么是锚点(AnchorPoint)相关推荐

  1. iOS开发之锚点anchorPoint

    效果图如下: 我们可以看到,不管棕色的方块怎么运动,总是以绿色的店作为中心来移动的,这就和船只的锚点是一样的道理 一.简介: anchorPoint 锚点  以锚点为中心,执行动画(与渔夫固定船的点一 ...

  2. iOS CoreAnimation(四) anchorPoint,锚点

    在了解锚点之前,需要了解 UIView 三个属性:frame,bounds,center "这三个属性太简单了吧?" 假设 view2 是 view1 的子视图,view1 设置 ...

  3. SpriteKit之浅谈AnchorPoint(锚点)的使用

    理想如果不向现实做一点点屈服,那么理想也将归于尘土. 锚点的简介 在SpriteKit的游戏开发当中经常会使用到AnchorPoint这一属性,锚点的使用一般是配合着position属性使用的,锚点是 ...

  4. Cocos2dx学习笔记9:cocos2dx锚点(Anchor Point)

    锚点(AnchorPoint)是相对坐标,通常用来定义物体内部的点,在cocos2dx中,一般都是以加载精灵来实现游戏元素的表现,而精灵一般都是对应的一张图片资源. 我们在设置精灵位置的时候,要设置精 ...

  5. 彻底理解position与anchorPoint - Wonderffee's Blog(转)

    引言 相信初接触到CALayer的人都会遇到以下几个问题:  为什么修改anchorPoint会移动layer的位置? CALayer的position点是哪一点呢? anchorPoint与posi ...

  6. iOS开发之layer.frame,layer.anchorPoint,layer.position对frame的影响

    最近遇到相关的问题,所以就将这三个属性值,进行了分析和研究,话不多说,直接上代码了,详细的文字描述都在代码中,可以自行查看. 之前还写了一篇文章,也可以同时查看一下: iOS开发之如何保证控件位置不变 ...

  7. 48.iOS动画和理解position与anchorPoint

    1.动画的基本概念 动画的使⽤场景:iOS中的动画是指一些视图上的过渡效果,合理利用动画能提⾼用户体验,UIView动画影响的属性 frame:视图框架 center:视图位置 alpha:视图透明度 ...

  8. 彻底理解position与anchorPoint

    引言 相信初接触到CALayer的人都会遇到以下几个问题:  为什么修改anchorPoint会移动layer的位置? CALayer的position点是哪一点呢? anchorPoint与posi ...

  9. anchorPoint

    每一个UIView内部都默认关联着一个CALayer, UIView有frame.bounds和center三个属性,CALayer也有类似的属性,分别为frame.bounds.position.a ...

最新文章

  1. 微信公众平台消息接口PHP版
  2. linux 调用栈打印
  3. Cordova error:npm install -g ios-deploy
  4. 移动产品经理必须要知道的11件事
  5. Python3赋值运算符
  6. Linux / openwrt / 安装 Web GUI 和 ftp server
  7. 一个最简单的例子学会使用nodejs redis库进行数据库操作
  8. 【Java】睡眠排序
  9. go 多行字符串_Go语言基本功,了解Go语言基础语法
  10. Python中添加中文注释报错SyntaxError: Non-UTF-8 code starting with '\xc1'
  11. java面试要点---Spring体系知识点复习,IOC,AOP---随时更新
  12. Getphonenumber获得电话号码的例子
  13. 获取视图尺寸大小方法
  14. oracle怎么查找数据泵,ORACLE数据泵使用详解
  15. Word与Excel展示Oracle BI Publisher页签
  16. 我的前端学习资料 (附视频地址)
  17. 宝塔安装Jdk1.8
  18. AST反混淆插件|如何还原Array对象里的元素
  19. 网络安全:常见的网络协议
  20. 疫情下如何保持高效项目交付

热门文章

  1. ConversionPattern参数的格式含义
  2. PhotoJet彩信图片智能自适应系统
  3. IIS之FTP服务器
  4. MySQL数据库基本操作详解(数据库概述、基本操作、增删改查等)
  5. 20 张图揭开「内存管理」的迷雾,瞬间豁然开朗
  6. 酒店智能推荐---智慧旅游
  7. RecastDemo用法
  8. 蓝桥杯试题 历届试题 李白打酒
  9. 分析kdump(vmcore)
  10. 影史上最令人心碎的10个男人