contextUI.scale(scale, scale);
Ты скейлишь контекст который отрисовывает UI?
Или ты хочешь скейлить сам игровой контекст?
contextUI.drawImage(canvas, 0, 0);
Ты в контекст для UI рисуешь canvas? canvas - это хендл кртинки, или самой canvas? хендл должен быть картинки.
Вот хорошая справка.
http://www.html5canvastutorials.com/...canvas-images/
Далее ты просто отчищаешь свой контекст и всё.
Если это то чего ты хотел, то у тебя просто будет пусто на экране после зуума.
Открой консоль, думаю у тебя будет ошибка на отрисовки картинки, если это так, тогда у тебя дальнейший код в данной функции не выполниться, следственно функция не будет выполнена полностью.
Также недостаточно информации. Лучше дай ссылку на рабочий пример или забей в
http://jsfiddle.net/ ситуацию.
Даю 90% что как забъёшь в jsfiddle сам найдёшь ошибку.