Literally the only way to avoid pixel scaling is to make a completely different spritesheet for every level of zoom, then make a function that switches spritesheet based on characters Y axis. It would increase your workload by a TON. Not worth it imo