Как создается эффект фокуса на персонаже в 2D играх?
Речь идет о собственном движке. То есть чистый фреймворк работы с графикой
и всё. Можно легко объединить объекты в один класс-слой, но как именно должны меняться
координаты слоя, в ответ на движение персонажа?
Во первых у Вас должна быть своя система рендера. То есть Вы не грузите две больших картинки которые потом двигаете, а Вы грузите любые картинки части которых потом рисуете в один холст.
Получается что у Вас должен быть модель, который рисуете картинки по заданным координатам.
Эти координаты должен задавать другой модуль, которым управляет третий модуль управляемый юзером. Юзер нажал кнопку -> третий модуль передал значение смещения -> второй модуль перевел это смещение в конкретные координаты -> первый модуль отрисовал.
А когда нужно сделать фокус-покачивание или ещё какие-то манипуляции с камерой, то заменяете третий модуль и управляете им программно.