`
liliang1222
  • 浏览: 158589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cocos2d中的anchorPoint

 
阅读更多


 

 

将该图片放置到屏幕左下方

CCSprite sprite = CCSprite.sprite("Default.png");
addChild(sprite);

 

生成的精灵放置在( 0,0 ),也就是屏幕左下角。但是精灵的贴图的中心点和精灵的左下角位置一致 ,导致贴图只能显示一部分(贴图的右边上半部分)。


 

 

可以这样想,一个精灵有两部分,一部分是节点背景对象 ,另一部分是贴图对象 (自己理解定义的名称,非官方)


怎么可以让贴图完全显示出来呢?使用定位点

每个节点都有一个定位点,但是只有当节点拥有贴图时,这个定位点才有用。默认情况下, anchorPoint 属性设置为( 0.5,0.5

 

定位点和节点的位置没有关系。当改变 anchorPoint 属性的时候,我们能看到精灵在屏幕上的位置发生了变化,但是其实节点没有改变;改变的是精灵里贴图的位置

 

 

CCSprite sprite = CCSprite.sprite("Default.png");
sprite.setScale(0.6f);
sprite.setPosition(CGPoint.make(500, 300));
addChild(sprite);
			
ccMacros.CCLOGERROR("test", "Position:"+sprite.getPosition().x +"--"+sprite.getPosition().y);
ccMacros.CCLOGERROR("test", "AnchorPoint:"+sprite.getAnchorPoint().x +"--"+sprite.getAnchorPoint().y);
ccMacros.CCLOGERROR("test", "AnchorPointInPixels:"+sprite.getAnchorPointInPixels().x+"--"+sprite.getAnchorPointInPixels().y);

 




 


修改定位点为0

CCSprite sprite = CCSprite.sprite("Default.png");
sprite.setScale(0.6f);
sprite.setPosition(CGPoint.make(500, 300));
sprite.setAnchorPoint(CGPoint.make(0, 0));
addChild(sprite);
			

 
  



 

从上面可以看出来精灵的位置没有发生变化,发生变化的只是贴图对象 相对于节点背景对象 的偏移

默认情况下 anchorPoint 为( 0.5,0.5 ),即贴图对象 的中心位置对应着节点背景对象 的左下角;而当 anchorPoint 为( 0,0 ),即贴图对象 的左下角对应着节点背景对象 的左下角

 

所以按照下面的代码,图片就可以正好显示在左下角了

CCSprite sprite = CCSprite.sprite("Default.png");
sprite.setAnchorPoint(CGPoint.make(0, 0));
addChild(sprite);

 



 

 

  • 大小: 30.7 KB
  • 大小: 41.2 KB
  • 大小: 41.4 KB
  • 大小: 39.8 KB
  • 大小: 12.9 KB
  • 大小: 1.5 KB
  • 大小: 1.5 KB
  • 大小: 29.9 KB
分享到:
评论

相关推荐

    cocos2d-x AnchorPoint

    《cocos2d-x AnchorPoint:游戏开发中的关键概念解析》 在cocos2d-x游戏引擎中,AnchorPoint是一个至关重要的概念,它直接影响到游戏中精灵(Sprite)和其他可渲染对象的位置、旋转和缩放行为。理解并熟练运用...

    cocos2d入门cocos2d入门

    `anchorPoint`是精灵的锚点,用于指定旋转和缩放的中心点。 6. **Menu与MenuItem**:菜单用于展示游戏的交互元素,如按钮。MenuItem是菜单项,可以关联图像和标签等元素。 7. **Action**:动作是cocos2d的核心功能之...

    cocos2d-x抽屉

    在这个“cocos2d-x抽屉”项目中,开发者分享了一个实现抽屉效果的源代码示例。抽屉效果通常指的是在用户交互时,一个界面元素(如菜单或面板)从屏幕边缘滑出,类似于手机应用程序中常见的侧滑导航菜单。 在cocos2d...

    cocos2d-x自适应屏幕分辨率 源码

    首先,我们来理解cocos2d-x中的几个关键概念: 1. **设计分辨率(Design Resolution)**:这是开发者在设计游戏时所依据的固定分辨率,通常选择一个常见的比例,如1920x1080或1280x720。 2. **实际分辨率(Actual ...

    cocos2d-android

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

    Cocos2d-x血条跟随怪物运动----之游戏开发《赵云要格斗》

    本文将深入探讨如何使用Cocos2d-x实现一个血条跟随怪物运动的功能,以应用于游戏《赵云要格斗》的场景中。 首先,我们需要理解Cocos2d-x的基本架构。Cocos2d-x是基于C++的,它提供了丰富的图形渲染、动画、物理模拟...

    Cocos2D游戏之旅(四):卡牌翻转效果的实现(下)---源代码

    在本篇【Cocos2D游戏之旅(四):卡牌翻转效果的实现(下)】中,我们将深入探讨如何在Cocos2D游戏引擎中实现引人入胜的卡牌翻转特效。Cocos2D是一款强大的2D游戏开发框架,广泛应用于iOS、Android以及Windows等平台...

    iOS利用cocos2d制作精灵详解

    在iOS游戏开发中,Cocos2d是一个广泛使用的2D游戏引擎,它允许开发者创建丰富的交互式内容。本文将深入探讨如何在Cocos2d框架下创建和操作精灵(Sprite),这是一种基本的游戏对象,通常用来表示游戏中的角色、道具...

    详解iOS游戏开发中Cocos2D的坐标位置关系

    在iOS游戏开发中,Cocos2D是一个非常流行的开源框架,它专用于构建2D游戏。本篇文章将深入探讨Cocos2D中的坐标位置关系,这对于理解和创建游戏场景至关重要。Cocos2D使用自己的坐标系统,它与iOS设备屏幕的坐标系统...

    iOS DevCamp幻灯片分享:在iOS平台上用Cocos2D做开发 | iOS独立开发者 秦春林

    - **锚点(Anchor Point)**:确定节点在其父节点中的相对位置。 - **尺寸(Size)**:节点的大小。 - **可见性(Visible)**:控制节点是否可见。 - **Z顺序(Z-Order)**:决定多个节点之间的显示顺序。 - **...

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

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

    cocos2dx 3.3 tilemap 缩放滑动并且准确点击对象

    在Cocos2d-x 3.3版本中,开发2D游戏时经常使用TileMap(瓷砖地图)来构建游戏场景。TileMap允许开发者通过拼接小的图片(瓷砖)来创建复杂的地图,同时提供了高效的渲染和操作性能。在这个场景中,我们需要实现的...

    文字的拖拽和定位

    在IT行业中,游戏开发是一项非常重要的领域,而Cocos2d-x是一款广泛使用的跨平台2D游戏引擎。本文将深入探讨如何在Cocos2d-x v2.2.0版本中实现文字的拖拽和定位功能,这在《中国好学霸》、《疯狂猜成语》等游戏中...

    摇杆函数及资源

    摇杆函数在游戏开发中广泛应用于移动控制和游戏交互,特别是在使用Cocos2d-x引擎的项目中。Cocos2d-x是一个用C++编写的开源游戏开发框架,支持多种平台,包括iOS、Android和Windows等。摇杆功能通常用于实现玩家角色...

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

    在Cocos2d-x游戏开发框架中,理解各个节点如CCScene、CCLayer和CCSprite的默认坐标和锚点是非常关键的。这些组件是构建游戏场景的基础,它们的坐标系统和锚点设置直接影响到元素的布局和动画效果。下面我们将深入...

    Cocos2dx摇杆lua版

    你可以加载一个PNG或者SVG图像作为按钮的背景,然后设置其锚点(anchor point)以确保其在屏幕上的位置正确。例如: ```lua local joystickBtn = ccui.Button:create() joystickBtn:setScale9Enabled(true) ...

    【cocos creater】7.仿《弓箭传说》- 控制主角朝向敌人.rar

    - 设置Sprite的锚点(anchor point)为0.5, 0.5,使其旋转中心位于图像的中心点。 - 将主角放置在场景合适的位置,可以通过调整坐标(x, y)来完成。 2. **添加用户输入处理** - 创建一个脚本(script)并将其...

    锚点解析1

    在计算机图形学和游戏开发中,锚点是一个关键的概念,特别是在使用像Cocos2d-x这样的2D游戏引擎时。锚点(Anchor Point)决定了一个图形对象或图像在其位置坐标上的固定点,决定了对象旋转、缩放或移动时的参考点。...

Global site tag (gtag.js) - Google Analytics