首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cocos2d-x CSLoader如何仅加载选定的节点

cocos2d-x CSLoader如何仅加载选定的节点
EN

Stack Overflow用户
提问于 2015-07-30 16:36:03
回答 2查看 483关注 0票数 0

我在cocos2dx网站和谷歌上搜索文档,但都找不到。问题是,当我从cocostudio加载csb文件时,它加载了所有节点及其资源等。这使得纹理内存如此之高。我想知道是否有从cocostudio的场景文件中仅加载选定节点的方法或解决方案。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-08-06 06:14:05

您可以尝试获取.csb的一个组件:

代码语言:javascript
复制
auto node = CSLoader::createNode("MainScene/MainScene.csb");
node->getComponent("Star_GameButton")->setEnabled(false);

您需要组件的名称,也就是cocos Studio上的porperties

票数 0
EN

Stack Overflow用户

发布于 2015-10-05 16:20:05

我也有同样的问题,它源于试图让一个场景包含你需要的一切。我决定将我的组件分成几个层,然后在需要时由它们自己的组件加载。

作为一个例子。在我的主场景中,我有一个库存托盘,一个建筑区域和一个自定义按钮面板。我把它们都分成了不同的层。InventoryTray.csb、BuildingArea.csb、ButtonPanel.csb,并让它们都在代码中分开,每个布局都有一个加载对象。总体而言,我的代码更易于维护,因为每个类只有几行代码。

这样,我就可以加载我的库存托盘,而不是加载我的按钮面板,直到用户“需要”与它进行交互。同样的情况也适用于花哨的暂停菜单,这些菜单可能包括动画和资源,可能会占用更多的纹理内存。将其创建为单独的图层,并在需要时加载它。

我希望这对我有所帮助,我从来没有发现cocostudio场景有用,除了我的菜单系统,因为我(到目前为止)构建的每个菜单场景都是自包含的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31718917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档