2010-07-16 51 views

回答

5

好了,你基本上有两种选择:

1)烤阴影到精灵图像本身,或 2)管理的阴影作为一个单独的精灵。

前一种方法最简单。在Photoshop中打开精灵,将图层设置为有阴影,然后将其保存。如果你有一个一致的光源,并且不会以一种将阴影放在错误位置的方式旋转或翻转精灵,这将仅适用。

否则,您可以管理两个精灵:普通精灵和阴影精灵。可能你不需要新的图形。相反,你可以使用相同的纹理,并使用精灵的颜色正好被设置为黑色:

sprite.color = ccc3(0,0,0); 

你也可以试试:

sprite.opacity = 128; 
sprite.scaleY = -1.0; 

这应该不会产生太大的性能损失,因为你可以从相同的纹理中抓取它。如果您将阴影的动画帧与原始精灵的动画帧匹配,阴影甚至会匹配。

+1

这些都不是一个很好的解决方案,我会考虑名义(但相当容易)的解决方法。我还没有看到一个像使用Core Graphics/Core Animation或UIView和CALayer提供的更高级功能一样基本。 #1的主要问题:如果您希望根据应用程序的某些状态(选定)需要不同的阴影。 #2的主要问题,运行时资产的重复以及投影阴影的自然模糊。 – bshirley 2012-10-31 17:53:59