怎么画出一张图中不同色块拼成,求大佬支招!

例如实现这种效果:image
苹果分成了好几块,每一块可以代码控制变成任意颜色,该怎么控制呢?
自己想模仿实现一下这个小游戏玩玩: Boo! - Play on Armor Games
大佬们有什么方案吗?

1赞

玩了一下,挺有意思的游戏。
实现思路上我觉得可以和游戏玩法本身一样,装备本身作为遮罩图。
切换装备时把苹果上所有装备都合并成一张遮罩(渲染到RenderTexture),进染缸的时候对遮罩之外的部分进行着色。
不过游戏本身可能并不是这么实现的。

因为后续逻辑还挺复杂的,用遮罩后续估计后续有点难。可以把苹果分成多块,然后变换的时候改变每一块的颜色吗?我的想法是这样,但是不知道怎么实现,小白一枚。大佬能给一下思路吗?

分成多块也可以,不过所有装备都排列组合一下后,会发现块还挺多的。

不是排列组合,就是单独改变控制每一块显示的颜色,颜色代码改变。这样怎么实验呢?通过canvas直接能画出来吗?

按照你的思路可以去论坛搜一搜填色游戏的实现。

svg+graphics

一个简单的思路,首先得把苹果分成N块 每块一个不同的ID,分多少块看你要实现的效果(理论上是 当前场景的道具全部放到苹果上时 按照道具轮廓 切割出来的 ), 对每个cover的道具做标记(是一个数组 包含不同块的 ID )。当道具使用时,被标记的块颜色是不变的,没有标记的块,颜色会变色。差不多 就这个逻辑,比较简单,难点是资源问题,没人给我切块图 :grin:

如果不怕麻烦,用 mask 互相叠加,不用切块图 也是可以的。 :joy: