我有一个2d的花车阵列。每个单元代表一个像素。 根据float的值,我将float映射到特定颜色。 我想基于所有这些值生成背景精灵。我对OpenGL了解不多,所以我不知道从哪里开始。
给出2d像素数组。如何创建精灵?
使用此精灵完成后,如何从内存中释放纹理和精灵?
答案 0 :(得分:0)
我建议您从数据中创建CGImage,然后使用它来初始化cocos2d精灵。
// Create a graphics context from the heightmap data
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(myArray, // heightmap data
width, // width of hightmap
height, // height of heightmap
8, // bits per component
width * 4, // bytes per row
colorSpace,
kCGImageAlphaPremultipliedLast);
CGColorSpaceRelease(colorSpace);
// Create an image from the context
CGImageRef image = CGBitmapContextCreateImage(context);
CGContextRelease(context);
// Init sprite
CCSprite *sprite = [[CCSprite alloc] initWithCGImage:image key:nil];
CGImageRelease(image);