我正在用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何时被擦除(opacity = 0)才能触发任务的完成。我可能会在每个ccTouchEnded中调用这种检查方法。我是否应该遍历renderTexture的UIImage中的所有像素?有没有办法迭代精灵的像素并检查每个像素是否透明?非常感谢任何帮助。我已经调查了这个:How to get pixel data from a UIImage (Cocoa Touch) or CGImage (Core Graphics)?,但是我真的不知道要为count,xx,yy设置什么值。