Well I am sure there can be more than one way to do it and a good one is make spritesheet of every part (like head, hairstyle, shirt, pant, armor, shoes, arms etc.)
If anyone who dont knows how to make
spritesheet then dont worry keep it simple and create new sprite for each part and than add frames in each part sprites.
For example create a Hairstyle sprite.
Add animation frames inside sprite Hairstyle.
Same do with the Armor add frames in Armor sprite (like blue , green ,red ).
When you make a character creator menu you will make some buttons to change the hairstyle or armor.
like in hairstyle selection add two buttons like < and > to change them.
One thing I forget to tell that every sprite you are creating like Hairstyle, Armor, Paints etc. you should add instance variable for those sprites.
Example for sprite Armor create a instance variable var_armor.
So now in character creator menu in select hairstyle section or armor selection section when you click the sprite button '>' the variable for Armor 'var_armor' changes to 1.
(Note: You must set the armor frame to a variable number. Like if var_armor is 0 then Armor set frame to 0 (the animation will set to the frame 0 and whichever frame like armor blue or armor is placed in that 0 frame will be played or set)
If var_armor is 1 whichever frame you set to the var_armor will play.
I set frame 1 at var_armor=1 . so it will set to frame 1.
If frame 1 having blue armor then it will set to armor blue color.
Same with the hairtyles, shirt,pants, face etc.
Good luck !
Wow this an old thread
I wasn't very descriptive when I posted this ages ago, but there's a ton of options for this depending on how you want to implement player characters. I think I was asking the most efficient way asset wise. Since recoloring is webgl based thus unreliable and may effect performance, the best option is probably this with separate sprites for each clothing with frames connected to arrays, etc.