我正在使用 cocos2d 开发儿童游戏,其中一个阶段涉及用户清除覆盖盒子的沙/雪。因此,我正在根据我在这里看到的内容实现一个橡皮擦工具:http: //muhammedalee.wordpress.com/2012/09/21/erasing-pixels-from-ccrendertexture/。基本上,我有一个 pileSprite (一堆沙子),我最初调用它:
[renderTexture begin];
[pileSprite visit];
[renderTexture end];
以便将其渲染到renderTexture。然后,当橡皮擦被拖到精灵上时,我会:
[renderTexture begin];
[eraserSprite visit];
[renderTexture end];
我想知道整个 pileSprite 何时被擦除(不透明度 = 0)以触发任务的完成。我可能会在每个 ccTouchEnded 调用这个检查方法。我应该检查 renderTexture 的 UIImage 中的所有像素吗?有没有办法遍历精灵的像素并检查每个像素是否透明?非常感谢任何帮助。我研究过这个:如何从 UIImage (Cocoa Touch) 或 CGImage (Core Graphics) 获取像素数据?也一样,但真的不知道要为 count、xx、yy 设置什么值。