【发布时间】:2018-12-01 11:05:27
【问题描述】:
spine/cocos2dx 有一些问题(这里非常初级,所以如果我在问题描述中遗漏了一些信息,请告诉我)
我正在使用 cocos2dx 处理脊柱骨架模型;骨架使用一个图集进行初始化,该图集映射有一个图像,每个插槽/附件都有很多纹理。我还有其他图像文件可用作纹理,但它们是分开的(初始图集/图像是所有纹理的一体式)
我正在尝试更改不同附件上的纹理,但我遇到了一些关于具有多个附件的插槽的问题,这些附件需要从单个图像文件中加载,并且只包含原始图集的纹理子集
一个例子(可能太详细了):
- 原始图集/精灵图像具有“衬衫”的图像结构,由 3 个部分组成,分别位于 3 个附件上(即 2 个袖子和 1 个主体)
- 我有新的精灵图像仅包含 3 件衬衫部分(就像它是从原始图集图像中提取的一样),遵循相同的结构/比例,但像素更大,所以如果你缩小整个图像它最终将映射到原始图像/图集
我正在使用此代码加载简单的资源(png 文件中的一个纹理)(例如:帽子或面具,它们由单块组成)并且它似乎正在工作,但我不知道如何在多资产图像上做同样的事情(一个带有 2 个袖子和 1 个主体的 png,这三个部分中的每一个都将在 3 个插槽上)
Texture2D *texture = new (std::nothrow) Texture2D();
cocos2d::Size sz = cocos2d::Size(image->getWidth(), image->getHeight());
bool textureCreatedSuccessfuly = texture->initWithData(image->getData(), image->getDataLen(), Texture2D::PixelFormat::RGBA8888, image->getWidth(), image->getHeight(), sz);
spMeshAttachment* mesh ;
mesh = SUB_CAST(spMeshAttachment, slot->attachment);
AttachmentVertices *attachmentVertices = SUB_CAST(AttachmentVertices, mesh->rendererObject);
attachmentVertices->_texture = texture;
【问题讨论】:
-
你想在多张图片上设置多资产。是真的吗?
标签: c++ objective-c cocos2d-x