gpt4 book ai didi

c++ - 在 Cocos2d-x 中一次使用多个 Sprite 表

转载 作者:行者123 更新时间:2023-11-28 04:20:42 25 4
gpt4 key购买 nike

我正在用 Cocos2d-x C++ 制作平台视频游戏。

我想做的事情真的很简单,但我在互联网上找到的所有内容要么不起作用,要么是针对另一种编程语言(如 Objective-C)的。

我基本上有多个 Spritesheet 我想在我的游戏中使用。我无法将它们合并到 1 个大的 spritesheet 中,因为它们真的很大。

我只想知道如何包含多个 spritesheet,以便我可以使用它们。

为了使用 1 个 spritesheet,我使用以下代码:

// load and cache the texture and sprite frames
auto cacher = SpriteFrameCache::getInstance();
cacher->addSpriteFramesWithFile("GJ_GameSheet02-hd.plist");

我读到过我可以为此使用 SpriteBatch Node,但我还没有找到任何与如何在 C++ 上使用它相关的内容。

如有任何帮助,我们将不胜感激。谢谢

最佳答案

我使用了 Texture Packer 的高级功能:生成 .h 和 .cpp 文件。但您只需要:

cache->addSpriteFramesWithFile("Graphics-0.plist", "Graphics-0.png");

cache->addSpriteFramesWithFile("Graphics-1.plist", "Graphics-1.png");

您只需要对所有 .plist 文件和 .png 多次调用 addSpriteFramesWithFile

如果你有很多你可以创建一个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);
}

关于c++ - 在 Cocos2d-x 中一次使用多个 Sprite 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55503776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com