将该图片放置到屏幕左下方
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是一个至关重要的概念,它直接影响到游戏中精灵(Sprite)和其他可渲染对象的位置、旋转和缩放行为。理解并熟练运用...
`anchorPoint`是精灵的锚点,用于指定旋转和缩放的中心点。 6. **Menu与MenuItem**:菜单用于展示游戏的交互元素,如按钮。MenuItem是菜单项,可以关联图像和标签等元素。 7. **Action**:动作是cocos2d的核心功能之...
在这个“cocos2d-x抽屉”项目中,开发者分享了一个实现抽屉效果的源代码示例。抽屉效果通常指的是在用户交互时,一个界面元素(如菜单或面板)从屏幕边缘滑出,类似于手机应用程序中常见的侧滑导航菜单。 在cocos2d...
首先,我们来理解cocos2d-x中的几个关键概念: 1. **设计分辨率(Design Resolution)**:这是开发者在设计游戏时所依据的固定分辨率,通常选择一个常见的比例,如1920x1080或1280x720。 2. **实际分辨率(Actual ...
- **锚点(Anchor Point)**:定义了精灵的中心点,用于旋转和缩放操作。默认情况下,锚点位于精灵的中心(0.5,0.5)。 - **坐标系统**:可以设置精灵的位置和大小。 - **镜像效果**:通过`setFlipX(true)`或`...
本文将深入探讨如何使用Cocos2d-x实现一个血条跟随怪物运动的功能,以应用于游戏《赵云要格斗》的场景中。 首先,我们需要理解Cocos2d-x的基本架构。Cocos2d-x是基于C++的,它提供了丰富的图形渲染、动画、物理模拟...
在本篇【Cocos2D游戏之旅(四):卡牌翻转效果的实现(下)】中,我们将深入探讨如何在Cocos2D游戏引擎中实现引人入胜的卡牌翻转特效。Cocos2D是一款强大的2D游戏开发框架,广泛应用于iOS、Android以及Windows等平台...
在iOS游戏开发中,Cocos2d是一个广泛使用的2D游戏引擎,它允许开发者创建丰富的交互式内容。本文将深入探讨如何在Cocos2d框架下创建和操作精灵(Sprite),这是一种基本的游戏对象,通常用来表示游戏中的角色、道具...
在iOS游戏开发中,Cocos2D是一个非常流行的开源框架,它专用于构建2D游戏。本篇文章将深入探讨Cocos2D中的坐标位置关系,这对于理解和创建游戏场景至关重要。Cocos2D使用自己的坐标系统,它与iOS设备屏幕的坐标系统...
- **锚点(Anchor Point)**:确定节点在其父节点中的相对位置。 - **尺寸(Size)**:节点的大小。 - **可见性(Visible)**:控制节点是否可见。 - **Z顺序(Z-Order)**:决定多个节点之间的显示顺序。 - **...
每个节点都有一个锚点属性(anchorPoint),定义了变换和定位时的参照点,锚点值是以比例形式表示的,不局限于节点内部。节点还可以定期更新,例如在每一帧或特定时间间隔调用回调方法,以实现动态效果或实时检测。 ...
在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的默认坐标和锚点是非常关键的。这些组件是构建游戏场景的基础,它们的坐标系统和锚点设置直接影响到元素的布局和动画效果。下面我们将深入...
你可以加载一个PNG或者SVG图像作为按钮的背景,然后设置其锚点(anchor point)以确保其在屏幕上的位置正确。例如: ```lua local joystickBtn = ccui.Button:create() joystickBtn:setScale9Enabled(true) ...
- 设置Sprite的锚点(anchor point)为0.5, 0.5,使其旋转中心位于图像的中心点。 - 将主角放置在场景合适的位置,可以通过调整坐标(x, y)来完成。 2. **添加用户输入处理** - 创建一个脚本(script)并将其...
在计算机图形学和游戏开发中,锚点是一个关键的概念,特别是在使用像Cocos2d-x这样的2D游戏引擎时。锚点(Anchor Point)决定了一个图形对象或图像在其位置坐标上的固定点,决定了对象旋转、缩放或移动时的参考点。...