Я пытаюсь найти способ получить правильную ограничивающую рамку (для обнаружения столкновений) контейнера относительно системы координат родительского контейнера. В Pixijs есть методы для localBounds (локальной системы координат) или getBounds (мировой системы координат) отображаемого объекта. Мне нужно что-то среднее.
Идея состоит в том, чтобы поместить всю сцену в один родительский контейнер, чтобы можно было легко масштабировать все сразу. Фон и пользовательский интерфейс не масштабируются.
Код: Выделить всё
app.stage
├─ background
├─ UI
├─ parent: > scaled < (contains all game objects)
├─ child (grouping of some objects)
├─ container1
├─ container2
├─ ...
├─ other layers
├─ ...
Код: Выделить всё
let inverseTransform = parent.worldTransform.invert()
let bunnyTransform = bunny[2].worldTransform
inverseTransform.prepend(bunnyTransform);
Может быть, есть лучший подход, потому что он кажется немного сложным.
Подробнее здесь: https://stackoverflow.com/questions/798 ... ate-system
Мобильная версия