如何使用cocos2d-x将精灵溶解成像素?

时间:2014-06-27 09:33:53

标签: c++ cocos2d-x cocos2d-x-3.0

我有一个LOGO图像,我希望将其溶解为小方块像素图像,从淡入淡出的Logo图像的下方到顶部,Logo完全删除然后我的游戏开始。如何使用C ++编码或其他方式在cocos2d-x v3中完成?提前感谢。

这段代码中没有任何内容只是为了获得提出问题的许可,我就是这样做的。

CCAction *fadeIn = [CCFadeTo actionWithDuration:0.5 opacity:0.5];
CCAction *fadeOut = [CCFadeTo actionWithDuration:0.5 opacity:1.0];
CCSequence *pulseSequence = [CCSequence actions:[fadeIn copy],[fadeOut copy], nil];

1 个答案:

答案 0 :(得分:0)

我认为这里你唯一的方法是将标识溶解成像素,这将是一种蛮力,这意味着通过在图层上添加单个像素精灵一次重建徽标一个像素,所以代替logo.png你有大量的whitepixel.png redpixel.png等,然后将它们发送到行动中。根据它的溶解速度,这会有效(尽管用像素艺术重建徽标需要很长时间,我建议使用像素矩阵并编写一个函数来放置精灵)。

或者,您可以通过简单地从上到下缓慢覆盖/遮蔽/淡化精灵并沿着擦拭线吐出颗粒来伪造它。如果你想让它一次缓慢地打印一行,你需要2个模糊图像,一个用于逐行覆盖,一个用于水平擦拭下一行。这可以通过视频更容易演示,如果你愿意,可以添加我的Skype reduxde,我可以给你看一些建筑纸。

我对粒子很不好,但只要您选择与徽标中的颜色相匹配的粒子,大多数人眼睛就无法跟踪它以实现像素不是1:1的匹配起来。

对于一个160 x 100像素的徽标,你用蛮力的方法谈论了16,000个精灵,这无疑会使你的设备滞后(我已经成功地获得了大约700-800个精灵,直到发动机突出物。)

可能你最好的选择是聘请一位图形艺术家,并使用一系列照片(与真正的溶解相比,它会变得不稳定)作为动画制作。