在 Cocos2dx 中初始化粒子效果后的警告 - "libpng warning: iCCP: known incorrect sRGB profile"
Warning after initializing particle effects in Cocos2dx - "libpng warning: iCCP: known incorrect sRGB profile"
我正在尝试在我的 Cocos2d-x 游戏代码中加载粒子效果(.plist 格式(,我面临警告:"libpng warning: iCCP: known incorrect sRGB profile"
,如问题中所述。我已经做了一些研究,其他提出类似问题的 StackOverflow 用户在加载文件时遇到了这个问题.png。
但是,我在初始化 .plist 文件时遇到了同样的问题。有关如何删除此警告的任何见解都将有所帮助。请注意,我在加载 .plist 文件时没有遇到任何问题,但警告会污染我的日志流。
示例代码:
ParticleSystem* testStar = testNode->getChildByName<ParticleSystem*>("star");
testStar->initWithFile(filePath + "/" + "test.plist"); //valid filePath
testStar->setVisible(true);
此外,为了确认这不是 .plist 文件本身的问题,我尝试在我的 UI 编辑器工具上手动加载该文件,这似乎没有任何问题地加载它。
如有必要,我准备提供有关我的环境的更多详细信息。我也尝试在一个空白项目中执行上述操作,并且能够重现相同的警告。
Cocos2d-x 版本: cocos2d-x-3.14.1
我能够通过使用ParticleSystem
的子类而不是ParticleSystem
本身来解决这个问题。我使用的子类是ParticleSystemQuad
。此外,我意识到由于 Cocos2D 更新调度程序,initWithFile
API 在我的代码中被多次调用。这可能是发出此警告的原因。
为了修复此警告,我创建了一个新的变量/系统,并为其分配了一个父变量,同时将新变量的位置设置为已知(所需位置(节点的位置。
/* Getting the desired particleEffect position */
const Vec2& desiredPos = testNode->getChildByName("blablablah")->getPosition();
std::string filePath = "/"; //assign a directory for the .plist
// Avoid exponentiation
if (!testNode->getChildByName("sampleParticle")) {
auto p1 = ParticleSystemQuad::create(filePath + "/" + "test.plist");
p1->setPosition(desiredPos);
p1->resetSystem();
p1->setName("sampleParticle");
p1->setVisible(true);
testNode->addChild(p1);
}
相关文章:
- "Warning: Comma within array index expression"但逗号分隔函数参数
- 在 Cocos2dx 中初始化粒子效果后的警告 - "libpng warning: iCCP: known incorrect sRGB profile"
- Visual Studio C6385 warning c++
- 运行 libpng 应用程序时出现运行时错误
- "Warning : No return statement in function returning non-void"是什么意思?
- cuda-gdb 给出错误"warning: Cuda API error detected: cudaLaunchKernel returned (0x7)"
- 编译代码时"[Warning] extra tokens at end of"
- QT_HAS_BUILTIN warning
- C++:OpenCV上的libpng冲突
- libPNG 读取 X,Y 处的 RGBA 直接绕过缓冲区
- 如何在Windows上的CodeBlocks中使用libpng
- warning C4503 with CGAL 4.12-beta 2
- 如何修复'PCH Warning: header stop not at file scope'
- 加载字节数组(从内存)到libpng c
- 如何在 C++ 中修复"/usr/bin/ld: warning: liblber-2.4.so.2, needed by //usr/lib/x86_64-linux-gnu/libcurl-gnu
- BufferOverrun :codesonar warning
- 如何解决libpng函数已经定义的错误
- Warning 6011 in C++
- 如何在Windows上安装libpng并将其添加到我的Qt项目中
- libpng warning in Eclipse