在 Cocos2d-x 中一次使用多个精灵表
Use multiple sprite sheets at once in Cocos2d-x
我正在用Cocos2d-x C++制作一个平台视频游戏。
我想做的真的很容易,但我在互联网上找到的所有东西要么不起作用,要么适用于另一种编程语言,如Objective-C。
我基本上有多个精灵表,我想在我的游戏中使用。我无法将它们合并为 1 个大精灵表,因为它们真的很大。
我只是想知道如何包含多个精灵表,以便我可以使用它们。
为了使用 1 个精灵表,我使用以下代码:
// load and cache the texture and sprite frames
auto cacher = SpriteFrameCache::getInstance();
cacher->addSpriteFramesWithFile("GJ_GameSheet02-hd.plist");
我已经读到我可以为此使用SpriteBatch Node
,但我还没有找到任何与如何在C++上使用它相关的内容。
任何帮助将不胜感激。 谢谢
我使用了纹理打包器的高级功能:生成.h和.cpp文件。 但您所需要的只是:
cache->addSpriteFramesWithFile("Graphics-0.plist", "Graphics-0.png");
cache->addSpriteFramesWithFile("Graphics-1.plist", "Graphics-1.png");
你只需要多次调用addSpriteFramesWithFile,使用你的所有.plist文件和.png
如果你有很多,你可以创建一个for循环:
void addSpriteFramesToCache(int i)
{
SpriteFrameCache *cache = SpriteFrameCache::getInstance();
cache->addSpriteFramesWithFile("Graphics-" + std::to_string(i) + ".plist",
"Graphics-" + std::to_string(i) + ".png");
}
for (int i = 0; i < numberOfFramesToLoad; i++) //
{
addSpriteFramesToCache(i);
}
相关文章:
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 在C++中一次将矢量值写入多个文件
- 循环中的条件:为什么每次都调用strlen(),而vector.size()只调用一次
- 为什么 zlib 放气初始化调用一次不起作用?
- 在一次迭代中从 txt 文件中读取多行
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- 在头文件和 cpp 文件中使用一次 #pragma 时出现结构重定义错误
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 高级选择排序 - 在一次迭代中搜索两个元素
- 具有相同特征的两个对象是否只在内存中存储一次?无论定义它们的函数是什么,都是不同的
- 如何仅使用一次固定<<设置精度(2)?或者至少恢复到默认行为?
- 什么是仅调用一次并调用参数的控制台应用
- 如何确保用户在一行上提示输入一次时输入名字和姓氏?
- (C++)虽然循环一次不起作用,但我引入了多个变量
- 为什么我的信号处理程序只执行一次?
- 如何使用C++一次读取整个二进制文件
- 在 Cocos2d-x 中一次使用多个精灵表
- 随着时间的推移,每几秒钟喷一次精灵SFML C++
- 循环一个精灵以显示不止一次