When trying to change the color of a sprite on-the-fly, I find the Scratch "set <...> effect to ..." blocks rather limited. Here is a compromise that I find useful. It produces black, white and a the full range of color effects with one costume. Selecting a color effect < 0 produces black. Selecting > 200 produces white. 0-200 produces variable color.