Пишу пародию на агар.ио. Как, используя canvas, масштабировать поле, оставляя игрока в центре? (когда вы едите, вы становитесь больше, и карта немного отдаляется) Нужно как-то связать scale и translate, а как - понять не могу. Чтобы игрок всегда был в центре, я использую вот такой код: (player - массив с инфой об игроке, нулевой элемент - х, первый - y; w и h - ширина и высота экрана)
ctx.translate(-(player[0]-w/2),-(player[1]-h/2));
// код //
ctx.translate((player[0]-w/2),(player[1]-h/2));
// движение игрока //
ctx.translate(-(player[0]-w/2),-(player[1]-h/2));