diff --git a/docs/engine/render.md b/docs/engine/render.md index 2ffe173..053b35a 100644 --- a/docs/engine/render.md +++ b/docs/engine/render.md @@ -48,6 +48,15 @@ Позиция округляется до целого пикселя (`apply`), поэтому арт не дрожит при движении. +«Мёртвая зона» — современное поведение камеры: пока цель внутри окна, камера +неподвижна; у границ окна цель «толкает» камеру (каждая ось независимо): + +```ts +camera.deadZone = { width: 180, height: 120 }; // окно в виртуальных пикселях +camera.deadZone = null; // снова жёсткое центрирование +camera.snap(x, y); // мгновенно, минуя окно (спавн/респаун) +``` + Тряска — для ударов, взрывов и урона. Движок сам тикает камеру (`camera.update(dt)` внутри фиксированного шага), игре достаточно запустить толчок: diff --git a/docs/engine/ui-and-dialogue.md b/docs/engine/ui-and-dialogue.md index 63659f6..4394bdd 100644 --- a/docs/engine/ui-and-dialogue.md +++ b/docs/engine/ui-and-dialogue.md @@ -173,3 +173,18 @@ debug.setLines(['tile 14,14', 'hp 5']); // строки статуса (fps подставляется сам) debug.update(dt); // каждый тик ``` + +## SpriteDebugView + +Дебаг-просмотр спрайта: текстура, увеличенная целым множителем (nearest), с сеткой +по границам пикселей — для правки пропорций и проверки кадров анимации: + +```ts +import { SpriteDebugView } from '@rpg/engine'; + +const view = new SpriteDebugView({ zoom: 8 }); // 1 тексель = 8 px +view.view.position.set(390, 120); +uiRoot.addChild(view.view); + +view.setTexture(sprite.texture); // каждый тик — «живой» кадр анимации +```