我正在创建一个需要能够在不同程度上发光的自定义按钮
我将如何使用这些图片制作一个在按下钻石时“发光”的按钮,并让这种发光逐渐消退到惰性状态?
我还想生产几种不同颜色的钻石……我希望从这里展示的相同库存图片中生成所有不同颜色的钻石。
我想了解可用的基本方法,足够详细,以便我可以看到每一种方法并决定采取哪条路径......
到目前为止我纠结的努力......(我将删除所有这些,或者随着解决方案的展开将其移动到可能的几个答案......)
我可以看到 3 个潜在的解决方案路径:
GL
看起来 GL 拥有对流程进行完全细粒度控制所需的一切,尽管核心图形所公开的功能非常接近,这将节省分布在一堆源文件中的数百行代码,这似乎对于这样一个基本任务来说有点荒谬。核心图形和核心动画来完成混合
文件继续说
未绘制样本下方的任何内容,例如当前填充颜色或其他绘图,都会显示出来。
所以我可以用色度键屏蔽左侧图像,设置 {0,0,0} 即黑色作为键。
这至少可以确保透明背景,现在我必须将其设置为黄色而不是灰色。
所以也许我可以开始为我的图像上下文设置黄色背景颜色,然后使用一些 CGContextSetBlendMode(...) 将钻石印在黄色上,然后使用色度键蒙版来获得透明背景
好的,这至少涵盖了在屏幕上显示基本的未点亮图像
现在我可以覆盖闪亮的图像,使用一些混合模式,也许我可以将它保持在当前的灰度状态,这只会增强原始的颜色
唯一的问题是它需要大量的实时混合
所以也许我可以预先计算动画中的每一个图像......这看起来越来越脏......
Cocos2D
如果这允许我将混合模式设置为加法混合,那么我可以使用适当的 Alpha 设置将发光图像合成到原始图像上。