`

CCLayer设置anchorPoint无效的问题

 
阅读更多

最近刚发现一个问题,anchorPoint这个属性虽然是属于CCNode的,但是CCLayer设置anchorPoint没有效果。CCLayer的anchorPoint被默认设定在(0, 0)位置,而且无法改变。

根据网上的搜索得到一个解决办法:

cocos2d v1.0
在setAnchorPoint之前先设置setIsRelativeAnchorPoint = YES;

cocos2d v2.0
在setAnchorPoint之前先设置ignoreAnchorPointForPosition = NO;

 

// v1.0
node.isRelativeAnchorPoint = YES;

// v2.0
node.ignoreAnchorPointForPosition = NO;  // The value is "negated"
 
分享到:
评论

相关推荐

    cocos2d-x学习笔记(4)--CCLayer背景绘制 .rar

    《cocos2d-x学习笔记(4)--CCLayer背景绘制》 在移动游戏开发领域,cocos2d-x是一个广泛使用的2D游戏引擎,它为开发者提供了强大的图形渲染、动画处理以及游戏逻辑管理功能。本篇笔记主要探讨的是如何在cocos2d-x中...

    CCScrollLayer-修正

    - `originPos`属性用于设置滚动层的原点位置,这个在之前的版本中是使用`setOriginPosition`方法设置的。 通过上述介绍,可以看出`CCScrollLayer`类是一个功能丰富的组件,能够满足开发者对于滚动页面的基本需求。...

    Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验

    默认情况下,CCScene的坐标系统原点位于左下角,而其锚点(Anchor Point)是(0.5, 0.5),这意味着场景的中心点被视为坐标系的基准点。 接着,CCLayer是CCScene的子类,通常用于组织和管理游戏中的交互层或逻辑层。...

    cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍

    需要注意的是,`switchToAndReleaseMe`方法会释放当前显示的图层并切换到指定的图层,但由于图层通常不是通过new创建的,所以直接调用此方法可能会导致内存问题。 在示例代码中,HelloWorld类的init方法展示了如何...

    计算机软件及应用iOS应用程序开发方法与实践PPT课件.pptx

    每个节点都有一个锚点属性(anchorPoint),定义了变换和定位时的参照点,锚点值是以比例形式表示的,不局限于节点内部。节点还可以定期更新,例如在每一帧或特定时间间隔调用回调方法,以实现动态效果或实时检测。 ...

    cocos2d-x 游戏菜单选项卡的实现

    2. **设计布局**:在主`CCLayer`或父`CCScene`中,设置选项卡的视觉表示,如按钮或图片。这些元素将作为用户交互的入口,用于触发层间的切换。 3. **事件监听**:为每个选项卡按钮添加触摸事件监听器。当用户点击...

    Cocos2d-x学习笔记之CCLayerColor层的使用实例

    CCLayerColor层的使用方法,写的详细了一些,和上篇文章基本差不多的(查看CCLayer的更多介绍),只不过这次HelloWorld继承自CCLayerColor。 bool HelloWorld::init() { bool bRet = false; do { //ccc4这个...

    cocos2d-android

    - **锚点(Anchor Point)**:定义了精灵的中心点,用于旋转和缩放操作。默认情况下,锚点位于精灵的中心(0.5,0.5)。 - **坐标系统**:可以设置精灵的位置和大小。 - **镜像效果**:通过`setFlipX(true)`或`...

    Cocos2d手势源码

    `CCGestureRecognizer`通常会关联到一个`CCLayer`或者`CCNode`,当用户在屏幕上执行特定手势时,它会触发相应的回调方法,让开发者可以处理这些手势事件。 在提供的文件列表中,`CCNode.h`和`.m`、`CCLayer.h`和`.m...

    CCLayerMultiplex测试

    CCLayerMultiplex是Cocos2d-x库中的一个类,它允许开发者在一个CCLayerMultiplex实例中管理和切换多个CCLayer子类。这种功能对于实现选项卡式界面或者在游戏的不同场景之间进行平滑过渡非常有用。 首先,我们要理解...

    cocos2dx-CCScrollLayer

    它是CCLayer的子类,因此它继承了CCLayer的所有特性,并添加了滚动相关的功能。 CCScrollLayer类拥有以下几个核心功能: 1. 创建和初始化ScrollLayer: - CCScrollLayer::create() 方法用于创建一个新的...

    cocos2d-x面试题DOCX文档

    本文档总结了cocos2d-x面试题,涵盖了CCScene、CCLayer、CCSprite、CCNode、CCAction、CCDirector、CCEGLView等重要概念,并提供了相关的知识点。 一、CCScene和CCLayer CCScene是app工作流程上独立的块,一个app...

    cocos2d-touch事件

    Point location = Director::getInstance()->convertToGL(touch->getLocationInView()); // 检查用户触摸的位置是否在某个游戏对象上 if (gameObject->getBoundingBox().containsPoint(location)) { // 处理点击...

    Cocos2d-x HelloWorld代码部分类图及时序图

    例如,`HelloWorld`可能继承自`CCLayer`,而`CCLayer`本身是`CCNode`的子类。`CCNode`是所有可添加到场景中的对象的基类,它包含了位置、旋转、缩放等属性和更新方法。 在类图中,我们还会看到`CCDirector`,它是...

    cocos2d 游戏菜单设置v1

    1. Cocos2D的结构:包括`CCScene`、`CCLayer`和`CCNode`的概念,以及它们之间的关系。 2. `CCMenu`和`CCMenuItem`的使用:如何创建菜单,添加菜单项,以及设置点击事件监听器。 3. `CCAction`的使用:如何创建和组合...

    事件处理机制之触屏事件.

    在Cocos2D-X中,CCLayer类作为场景的一部分,它继承了CCTouchDelegate协议,允许它检测和响应触屏事件。CCTouchDelegate有两个主要的子协议:CCStandardTouchDelegate用于处理多点触摸,而CCTargetedTouchDelegate则...

    Cocos2D-X开发学习笔记-渲染框架之布景层类的使用示例

    在Cocos2D-X中,你可以控制各个图层或精灵之间的颜色混合方式,通过设置混合函数(blend function)来实现。这可以用来创建许多视觉特效,比如发光、阴影、色彩叠加等。在实际游戏开发中,混合模式常用于粒子系统、...

Global site tag (gtag.js) - Google Analytics