Very fun. Here's some free feedback:
-hitboxes should be square. It's frustrating when I thought I could jump off a dummy only to slide off it into the spikes.
-Jump sound should be pleasant to hear.
-you can make the keys invisible once they've been touched, that way I know for certain I've gotten the key. Should be something like "Key.visible = false" in code.
-This game was very challenging, and there are very few things I like in a game as much as challenge. Perhaps my previous recommendation about hitboxes should be taken with a grain of salt because of this; the square hitboxes would require less precision which means less challenge.
-Nice visuals. I detest most pixel art platformers these days, but in this instance I was too immersed to notice/care.
-No bugs I was able to detect. Seems your code is rock solid, aside from that key thing. Keep it up.