通常,我们可以通过执行以下操作从 sprite 帧、文件或纹理创建 sprite:
Sprite* foo = Sprite::create(filename);
如何在不使用 DrawNode 或将文件传递给 sprite 的情况下创建指定尺寸的白色正方形?
我知道这是可能的,因为我偶然发现了另一篇描述如何做到这一点的帖子,但忽略了给它添加书签,并且该帖子没有出现在搜索结果中。
通常,我们可以通过执行以下操作从 sprite 帧、文件或纹理创建 sprite:
Sprite* foo = Sprite::create(filename);
如何在不使用 DrawNode 或将文件传递给 sprite 的情况下创建指定尺寸的白色正方形?
我知道这是可能的,因为我偶然发现了另一篇描述如何做到这一点的帖子,但忽略了给它添加书签,并且该帖子没有出现在搜索结果中。
像这样的东西:
auto dataLen = width * height * bitsPerPixel * sizeof(unsigned char);
auto data = static_cast<unsigned char*>(malloc(dataLen));
memset(data, 255, dataLen);
auto texture = new Texture2D();
texture->initWithData(data, dataLen, Texture2D::PixelFormat::RGBA8888, width, height, Size(width, height));
auto sprite = Sprite::createWithTexture(texture);
您也可以尝试使用 base64 编码的字符串来创建精灵,有一些在线转换器可以输出这种格式。