我有一个从具有透明背景的png创建的CCSprite。
我希望能够以一种可以自由定义颜色的方式将颜色应用于此精灵,而该精灵的实际颜色不会影响我必须添加的每种颜色的数量。
我已经试过了:
mySprite.color = ccc3(200,200,255);
试图给我的精灵添加些许蓝色的感觉,但是由于它通过根据精灵的现有颜色设置将要显示的色度来起作用,所以我的精灵中几乎没有蓝色(大多数它是黄色的)所产生的效果非常粗略,一切都变得很暗,只有一种淡蓝色,但不是我想要的。
在这种情况下,对我而言,理想的效果是为其添加一个具有非常低alpha值的浅蓝色蒙版。
有没有一种简单的方法可以不合成精灵?
我尝试使用CCTexture2D,但没有运气,因为没有用于处理颜色的内置方法,并且大多数教程仅教您如何从图像文件中构建纹理。
最佳答案
用原始精灵在代码中很难做到这一点。另一种选择是:
创建一个新的精灵,它只是原始精灵的白色轮廓版本
现在,此白色精灵的color属性将完全响应您传入的RGB值
因此将您的浅蓝色值传递给白色精灵,并正确设置不透明度
然后将其覆盖在原始精灵上
有什么好处吗
关于objective-c - 为CCSprite着色而不仅仅是使用原色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8137761/