есть некоторые проблемы с позвоночником / cocos2dx (очень начальный уровень здесь, поэтому, если мне не хватает некоторой информации из описания проблемы, пожалуйста, дайте мне знать)
Я работаю с моделью скелета позвоночника с использованием cocos2dx;скелет инициализируется с помощью атласа, который сопоставлен с изображением с большим количеством текстур для каждого из его слотов / вложений.У меня также есть другие файлы изображений для использования в качестве текстур, но они являются отдельными (и исходный атлас / изображение является универсальным для всех текстур)
Я пытаюсь изменить текстуры на разныхвложения, но у меня есть некоторые проблемы со слотами, которые имеют несколько вложений, которые нужно загрузить из одного файла изображения с подмножеством текстур из исходного атласа
пример (может быть, слишком подробный):
- оригинальное изображение атласа / спрайта имеет, среди прочего, структуру изображения "рубашки", состоящей из 3 частей, которые идут по 3 насадки (то есть 2 рукава и 1 основной корпус)
- У меня есть новые спрайт-изображения, состоящие только из той части рубашки с 3-мя частями (как это было извлечено из исходного изображения атласа), следуя той же структуре / пропорции, но также больше в пикселях, поэтому, если вы уменьшите все изображение, оно будет уменьшенов конечном итоге сопоставьте исходное изображение / атлас
Я использую этот код для загрузки простых ресурсов (одна текстура в файле png) (например,Достаточно: шляпы или маски, которые состоят из одного куска), и это, кажется, работает, но я не могу понять, как сделать то же самое на изображениях с несколькими активами (один png с 2 рукавами и 1 тело, которое будет продолжаться)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;