如何在不加载图像文件的情况下创建一个白色方块作为精灵?
How to create a white square as a sprite, without having to load an image file?
通常我们通过执行以下操作从精灵帧、文件或纹理创建精灵:
Sprite* foo = Sprite::create(filename);
如何在不使用 DrawNode 或将文件传递给 sprite 的情况下创建指定尺寸的白色正方形?
我知道这是可能的,因为我偶然发现了另一个 post,它描述了如何做,但忽略了对其进行书签,并且 post 没有出现在搜索结果中..
像这样:
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 编码的字符串来创建精灵,有一些在线转换器可以输出这种格式。
通常我们通过执行以下操作从精灵帧、文件或纹理创建精灵:
Sprite* foo = Sprite::create(filename);
如何在不使用 DrawNode 或将文件传递给 sprite 的情况下创建指定尺寸的白色正方形?
我知道这是可能的,因为我偶然发现了另一个 post,它描述了如何做,但忽略了对其进行书签,并且 post 没有出现在搜索结果中..
像这样:
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 编码的字符串来创建精灵,有一些在线转换器可以输出这种格式。