图中信息
blend相关设置,使用CSLoader:createNode读取后,并没有显示出来。
看了cocos相关的解析代码(CSParseBinary_generated.h中的struct SpriteOptions) 也没有发现相关的东西,这个功能代码是可以实现的,难道cocos里只是个摆设吗?
图中信息
blend相关设置,使用CSLoader:createNode读取后,并没有显示出来。
看了cocos相关的解析代码(CSParseBinary_generated.h中的struct SpriteOptions) 也没有发现相关的东西,这个功能代码是可以实现的,难道cocos里只是个摆设吗?
没有解析模拟器怎么显示出来的?能不能先看看代码!
SpriteReader 126行。
else if (name == “BlendFunc”)
{
const tinyxml2::XMLAttribute* attribute = child->FirstAttribute();
while (attribute)
{
name = attribute->Name();
std::string value = attribute->Value();
if (name == "Src")
{
blendFunc.src = atoi(value.c_str());
}
else if (name == "Dst")
{
blendFunc.dst = atoi(value.c_str());
}
attribute = attribute->Next();
}
}
喔,我用的是quick-cocos3.5的代码,没有这段,看来要自己合代码折腾一下了 -_-
顺便纠正楼上仁兄的错误,你贴的是读json的,我说的是读csb的,所以这地方的位置是:
SpriteReader.cpp的236行
auto f_blendFunc = options->blendFunc();
if (f_blendFunc)
{
cocos2d::BlendFunc blendFunc = cocos2d::BlendFunc::ALPHA_PREMULTIPLIED;
blendFunc.src = f_blendFunc->src();
blendFunc.dst = f_blendFunc->dst();
sprite->setBlendFunc(blendFunc);
}
编辑器文档页有更新说明,可以查到混合是在哪个版本支持的。
怎么我quick-3.5版的没有你说的这段代码?
骚年 你需要下载一份新的cocos3.6或以上版本 然后替换掉quick3.5的相应地方才行