Node还有两个非常重要的属性:position和anchorPoint。
position(位置)属性是Node对象的实际位置。position属性往往还要配合使用anchorPoint属性,为了将一个Node对象(标准矩形图形)精准的放置在屏幕某一个位置上,需要设置该矩形的锚点,anchorPoint是相对于position的比例,默认是(0.5,0.5)。我们看看下面的几种情况:
以anchorPoint为(0.5,0.5)为例,这是默认情况。
下面是anchorPoint为(0.0,0.0)情况。
下面是anchorPoint为(1.0,1.0)情况。
下面是anchorPoint为(0.5,0.66)情况。
为了进一步了解anchorPoint使用,我们修改HelloWorld实例,修改HelloWorldScene.cpp的HelloWorld::init()函数如下,其中加粗字体显示的是我们添加的代码。
- <span style="font-size:14px;">bool HelloWorld::init()
- {
- … …
- auto label = LabelTTF::create("Hello World","Arial", 24);
- label->setPosition(Point(origin.x + visibleSize.width/2,
- origin.y +visibleSize.height - label->getContentSize().height));
- label->setAnchorPoint( Point(1.0, 1.0) );
- this->addChild(label, 1);
- auto sprite = Sprite::create("HelloWorld.png");
- sprite->setPosition(Point(visibleSize.width/2 + origin.x,visibleSize.height/2 + origin.y));
- this->addChild(sprite, 0);
- return true;
- }</span>
Hello World设置了anchorPoint为(1.0,1.0)。
相关推荐
在Cocos2d-x 3.x中,有丰富的动画支持,如动作(Actions)、时间线(Timeline)等。同时,Cocos2d-x集成了Box2D物理引擎,使开发者能轻松实现物理效果,如碰撞检测、重力模拟等。 游戏中的音频管理也是不可或缺的一...
读者需要理解C++的基本语法、类与对象、模板等核心概念,以便更好地运用到Cocos2d-x中。 在Cocos2d-x框架内,主要包括场景(Scene)、层(Layer)、节点(Node)等概念。场景是游戏的顶层容器,可以包含多个层,层...
6. **音频和音乐**:介绍如何在Cocos2d-x中播放背景音乐和音效,以及音乐的控制和管理。 7. **网络与存储**:讨论如何进行网络通信,如下载更新、保存和读取游戏数据。 8. **性能优化**:提供关于代码优化、内存...
8. **网络编程**:学习如何在Cocos2d-x中实现网络通信,包括HTTP请求、WebSocket连接,以及游戏中的数据同步。 9. **音频播放**:掌握音频管理,包括背景音乐、音效的播放与控制,提升游戏体验。 10. **性能优化**...
其次,Cocos2d-x的动画系统是游戏中的重要部分。通过组合不同的SpriteFrame,开发者可以创建出平滑的帧动画效果,比如萝卜发射攻击、怪物移动等。此外,Action(动作)类允许对象执行各种动态行为,如移动、旋转、...
在cocos2d-x中,通过`Scene`类来管理游戏的不同阶段或者不同的游戏世界。场景之间可以通过简单的切换实现无缝过渡。 #### 2. 节点系统(Node System) 节点是cocos2d-x的核心概念之一,所有可见的对象都是节点的...
1. **Cocos2d-x 3.0框架**:了解Cocos2d-x 3.0的主要结构和组件,如Scene、Layer、Sprite、Node等,以及如何组织游戏场景和交互逻辑。 2. **图形渲染**:掌握如何使用Cocos2d-x的绘图工具,如DrawNode、Label、...
2. 节点(Node):节点是cocos2d-x中的基本元素,它可以包含其他节点,形成一个树状结构。节点可以是精灵、层、菜单、动画等,它们负责管理自身的属性,如位置、旋转、缩放等,并可以执行各种动作。 3. 精灵...
4. **场景管理**:cocos2d-x中的Scene、Layer、Node等概念构成了游戏世界的基本元素。Scene是游戏的顶级容器,Layer是场景中的分层,Node是基本的对象单位,可以包含子节点,实现复杂的游戏逻辑。 5. **精灵...
在cocos2d-x中,游戏逻辑被组织成一个个场景(Scene)。场景由节点(Node)组成,节点可以是精灵(Sprite)、层(Layer)、菜单(Menu)等。节点之间可以形成树形结构,通过添加、移除、布局节点来构建游戏世界。 ...
【ccjoystick】是cocos2d-x中用于实现摇杆功能的组件,通常包括两个部分:摇杆基座和可移动的滑块。基座固定在屏幕的某个位置,滑块则可以在基座周围移动,表示玩家的操作方向。在实际代码中,这可能由一个或多个...
1. **对象和场景管理**:在Cocos2d-x中,游戏逻辑被组织成一系列的节点(Node),这些节点可以是游戏对象如棋子,也可以是场景(Scene)。开发者通过创建和管理这些节点来构建游戏世界。 2. **用户交互**:游戏中的...
动作是Cocos2d-x中改变节点(Node)状态的关键元素,它定义了一个随着时间变化的状态改变过程。例如,你可以用动作让一个角色移动、旋转、放大或缩小,甚至播放动画序列。动作可以是即时的,也可以是持续一段时间的...
游戏需要响应用户的触摸事件,这在Cocos2d-x中通过`EventDispatcher`来实现。源码中应有事件监听器,如滑动事件,用于处理玩家的上下左右滑动操作。 5. **资源管理**: `Resources`目录包含了游戏所需的图片、...
这个压缩包“cocos2d-x-3.2_richer(第四部分).rar”包含了使用Cocos2d-x 3.2版本开发大富翁游戏项目的部分源代码,这将带我们深入理解如何在Cocos2d-x中构建一款完整的游戏。 1. **Cocos2d-x 3.2 版本特性** - ...
《cocos2d-x帮助文档》是一份专为iOS游戏开发者设计的重要参考资料,它详尽地阐述了cocos2d-x框架的各种技术和应用方法。cocos2d-x是一款跨平台的2D游戏开发框架,基于C++,同时支持Objective-C和Python等语言,广泛...
《Cocos2d-x实战 JS卷 Cocos2d-js开发》是一本专注于使用JavaScript进行Cocos2d-x游戏开发的专业书籍。随书源码包含了从第13章到第24章的示例代码,由于文件大小超出上传限制,源码被分为两个压缩包。在这些章节中,...
2. **基本概念**:介绍Cocos2d-x中的关键概念,如节点(Node)、坐标系统、时间线等。 3. **类库参考**:每个主要类的API文档,包括构造函数、方法、属性等详细信息。 4. **教程**:从基础到进阶的编程教程,帮助...
在实际开发中,理解cocos2d-x的渲染系统和内存管理同样重要。渲染系统采用OpenGL ES进行图形绘制,优化了性能,而内存管理则需要注意对象生命周期和引用计数,防止内存泄漏。 最后,为了将游戏发布到Android平台,...
在Cocos2d-x中,Lua与C++的交互是通过tolua++或tolua+1等绑定工具完成的,这使得游戏逻辑可以独立于底层系统,提高开发效率。 书中可能详细讲解了如何设置Cocos2d-x开发环境,包括安装、配置以及Lua的集成。此外,...