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 ,如需转载请自行联系原作者



相关文章
|
9月前
|
JSON 数据可视化 图形学
Graphix: 轻量级、可插拔、OOP 式图形编辑器开发引擎
A lightweight, pluggable, object-oriented programming (OOP) style graphic editor development engine / 一个轻量级、可插拔、OOP 式图形编辑器开发引擎
168 2
|
3月前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
280 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
6月前
|
存储 安全 数据安全/隐私保护
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
233 0
|
3月前
|
前端开发
业余时间开发了个海报编辑器
为了满足撰写博客或录制教程视频时对高质量海报的需求,我利用业余时间开发了一款海报编辑器。第一版功能简单,支持固定尺寸、黑底白字的标题。后来经过优化,增加了背景图、模糊效果、文字样式调整等功能,使海报更具吸引力。目前该编辑器已上线,欢迎大家试用并反馈。[访问海报编辑器](https://tool.share888.top/#/poster)
104 6
业余时间开发了个海报编辑器
|
7月前
|
移动开发 前端开发 JavaScript
基于 HTML5 和 Canvas 开发的在线图片编辑器
基于 HTML5 和 Canvas 开发的在线图片编辑器
133 0
|
8月前
|
存储 移动开发 编解码
基于HTML5开发的Markdown在线编辑器
Markdown是一种轻量级标记语言,以其简洁易读的格式而备受程序员和作者们的青睐。随着互联网的发展,越来越多的在线Markdown编辑器应运而生,为用户提供了更加便捷、高效的写作和编辑环境。本文将探讨基于HTML5开发的Markdown在线编辑器的设计原理、功能特点以及技术优势。
162 4
|
5月前
|
JavaScript 前端开发 API
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
本文介绍了如何在Vue 3项目中使用v-md-editor组件库来创建markdown编辑器和预览组件。文章提供了安装步骤、如何在main.js中进行全局配置、以及如何在页面中使用VMdEditor和VMdPreview组件的示例代码。此外,还提供了一个完整示例的链接,包括编辑器和预览组件的使用效果和代码。
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
|
4月前
|
运维 Java Linux
【运维基础知识】掌握VI编辑器:提升你的Java开发效率
本文详细介绍了VI编辑器的常用命令,包括模式切换、文本编辑、搜索替换及退出操作,帮助Java开发者提高在Linux环境下的编码效率。掌握这些命令,将使你在开发过程中更加得心应手。
54 2
|
6月前
Vue3项目引入 vue-quill 编辑器组件并封装使用
本文介绍了如何在Vue3项目中引入并封装使用`vue-quill`富文本编辑器组件,包括安装配置、父页面实现、子组件设计以及使用方法和效果展示。
1486 0
|
6月前
|
前端开发 算法
ProFlow 流程编辑器框架问题之FlowView 组件中添加节点和边缘数据如何解决
ProFlow 流程编辑器框架问题之FlowView 组件中添加节点和边缘数据如何解决
79 0

热门文章

最新文章