CocoStudio场景编辑器开发之组件定位

简介:

CocoStudio中场景编辑器是游戏运行的最关键场所,尽管DEMO中提供了各种类型的例子,但是在涉及到组件定位时,还是空白。
例如,DEMO中仅提供了这样的代码:

1
2
3
4
5
6
7
8
9
10
11
  CCNode *pNode = SceneReader::sharedSceneReader()->createNodeWithSceneFile( "scenetest/SpriteComponentTest/SpriteComponentTest.json" );
     if  (pNode == NULL)
     {
         return  NULL;
     }
 
     CCActionInterval*  action1 = CCBlink::create( 2 10 );
     CCActionInterval*  action2 = CCBlink::create( 2 5 );
 
     CCComRender *pSister1 = static_cast<CCComRender*>(pNode->getChildByTag( 10003 )->getComponent( "CCSprite" ));
     pSister1->getNode()->runAction(action1);

显然,运行各种各样的ACTION,几乎是每一个游戏必需的。而上面的例子中仅提供了简单的理想情况下的位移操作。

那么,如果定位一个组件呢?

答案

  请参考下面代码:

1
2
  CCComRender *r =static_cast<CCComRender*>(m_pCurNode->getChildByTag( 10015 )->getComponent( "CCSprite_D1" ));
     PLACEHOLDER_HALF_HEIGHT=r->getNode()->getContentSize().height* 0.5 ;

通过上面代码,可以(而且必须这样)访问到精灵组件的大小等数据,但是如果定位组件位置就不行了。例如下面:

CCPoint point=r->getNode()->getPosition();

这样得到的坐标只是一个(0,0)!!!

要得到上面精灵组件的坐标可以使用如下方法:

CCPoint point=m_pCurNode->getChildByTag(10015)->getPosition();













本文转自朱先忠老师51CTO博客,原文链接:http://blog.51cto.com/zhuxianzhong/1439676 ,如需转载请自行联系原作者



相关文章
|
3月前
|
JSON 数据可视化 图形学
Graphix: 轻量级、可插拔、OOP 式图形编辑器开发引擎
A lightweight, pluggable, object-oriented programming (OOP) style graphic editor development engine / 一个轻量级、可插拔、OOP 式图形编辑器开发引擎
59 2
|
10月前
|
JSON 数据格式
layui富文本编辑器文档layedit组件的调用和图片上传接口的使用
layui富文本编辑器文档layedit组件的调用和图片上传接口的使用
282 0
|
11天前
|
API 开发工具 C++
【专栏:工具与技巧篇】使用代码编辑器(VS Code/Sublime Text)提升开发效率
【4月更文挑战第30天】在VS Code与Sublime Text两大流行代码编辑器中,开发者可借助其高效特性提升编程效率。VS Code拥有丰富的插件生态、内置Git集成、强大的调试工具、智能提示和多文件导航功能。Sublime Text则以其轻量级、快速响应、多光标编辑及自定义构建系统见长。学习编辑器的键盘快捷键、自定义配置、使用内置终端以及键绑定和宏,将助开发者进一步提高开发效率。选择适合自己的编辑器并不断适应新技术是提升开发工作流的关键。
|
9月前
|
JavaScript
vsCode编辑器Vue使用el-upload上传组件标签名变成上传图标
vsCode编辑器Vue使用el-upload上传组件标签名变成上传图标
144 0
|
10月前
|
前端开发 JavaScript API
wangEditor富文本编辑器的调用开发实录(v5版本、获取HTML内容、上传图片、隐藏上传视频)
wangEditor富文本编辑器的调用开发实录(v5版本、获取HTML内容、上传图片、隐藏上传视频)
508 0
|
5月前
|
存储 前端开发 JavaScript
前后端分离模式开发的BS电子病历编辑器源码(Java)
前后端分离模式开发的BS电子病历编辑器源码(Java)
54 0
|
6月前
|
前端开发 C# 开发工具
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
Unity快手上手【熟悉unity编辑器,C#脚本控制组件一些属性之类的】
109 0
|
8月前
|
JavaScript API vr&ar
NSDT孪生场景编辑器系统介绍
NSDT编辑器,基于WebGL技术,依托丰富的模型资产库,通过拖拽式的操作,方便用户高效便捷的搭建三维数字孪生场景,配合twin服务平台,实现孪生设备姿态控制的虚实同步。支持场景导出并进行二次开发。
243 1
NSDT孪生场景编辑器系统介绍
|
10月前
|
数据库
wangEditor富文本编辑器的调用开发实录2(V5版本自定义粘贴,去除复制word或网页html冗余样式代码的解决方案)
wangEditor富文本编辑器的调用开发实录2(V5版本自定义粘贴,去除复制word或网页html冗余样式代码的解决方案)
388 0
|
10月前
|
JSON 数据可视化 定位技术
GIS开发:Maputnik地图样式编辑器
GIS开发:Maputnik地图样式编辑器
388 0