A func_usable has a function to freeze an animated shader, and when used, switch to the next anim stage. Thus, you can easily build for example the code screens that can have for example 4 different symbols and you must type the right one to open some door (like in the first JO SP level).
However, it's not necessarily a great way to do a switch, since I don't think anim stages support different glows for each anim image. Thus, it would make quite a dull switch. It's really easy to have two func_usables in the same place, the other turned_off (invisible) and the other on. You can use a far more complicated and pleasant switch shader that way.
I have fancied building a multi-level scripted elevator with the floor number (up to eight) showing on one screen (using these switchable anim stages), and a button next to it would then launch the elevator to whatever floor number the player had happened to leave on that screen. That would be kind of cool. Too bad I have no map in which to use such an elevator...
Frozen by ICARUS