通常我们通过执行以下操作从精灵框架,文件或纹理创建精灵:
Sprite* foo = Sprite::create(filename);
如何在不使用DrawNode或将文件传递给精灵的情况下创建指定尺寸的白色方块?
我知道这是可能的,因为我偶然发现另一篇文章描述了如何做到这一点,但忽略了书签,并且帖子没有显示在搜索结果中..
答案 0 :(得分:4)
这样的事情:
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);
答案 1 :(得分:1)
您也可以尝试使用base64编码的字符串来创建精灵,有一些在线转换器可以输出这样的格式。