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. 腾讯终于良心了!桌面混乱终于有救了
  2. LINUX文件、目录权限及相关操作命令
  3. 网络工程师应该掌握的50个路由器知识要点
  4. 第25节 典型应用集成技术
  5. postman模拟文件上传接口
  6. Codeforces Round #506 (Div. 3) - E. Tree with Small Distances
  7. Python连接MySQL及一系列相关操作
  8. JeeSite 4.0 (1.0)开发环境部署运行
  9. Mr.J-- jQuery学习笔记(二十五)--监听DOM加载
  10. python合并word全部_python:怎样合并文档中有重复部分的行?
  11. 一加Z配置细节曝光:处理器大变 为了更好的进入欧洲市场?
  12. 夯实Java基础(二)——面向对象之封装
  13. Python如何从一个文件中调用另一个文件的类
  14. 心电图分析软件_家用心电图机,一键出报告,让你在家就能看懂心电图!
  15. 小米5splus(高配版/全网通)线刷兼救砖_解账户锁_纯净刷机包_教程
  16. MATLAB如何配平化学方程,【如何配平化学方程式】作业帮
  17. mysql 主从 只读,mysql主从复制(从库只读)
  18. [js高手之路]jquery插件开发实战-选项卡详解
  19. 241个jquery插件—jquery插件大全
  20. matlab 使用 audioread 、 sound 读取和播放 wav 文件

热门文章

  1. 功能性肠道疾病用药一览表
  2. VoLTE吞字断续优化方案
  3. 医院营销策划应该如何进行情感诉求设计
  4. MySQL - 索引能够提升数据的检索速度
  5. ThreadPool.QueueUserWorkItem的性能问题
  6. Onvif的wsdl文档地址
  7. JAVA图像处理——高斯模糊
  8. 分布式定时任务调度框架Quartz
  9. 计算机控制技术大林算法计算题,计算机控制技术作业
  10. pandas._config.config.OptionError: Pattern matched multiple keys的解决方案