Ограничивающая рамка Pixijs относительно системы координат определенных родителейJavascript

Форум по Javascript
Ответить
Anonymous
 Ограничивающая рамка Pixijs относительно системы координат определенных родителей

Сообщение Anonymous »

Во-первых, я не гений в компьютерной графике. Поэтому я могу не увидеть очевидных преобразований...
Я пытаюсь найти способ получить правильную ограничивающую рамку (для обнаружения столкновений) контейнера относительно системы координат родительского контейнера. В Pixijs есть методы для localBounds (локальной системы координат) или getBounds (мировой системы координат) отображаемого объекта. Мне нужно что-то среднее.
Идея состоит в том, чтобы поместить всю сцену в один родительский контейнер, чтобы можно было легко масштабировать все сразу. Фон и пользовательский интерфейс не масштабируются.

Код: Выделить всё

app.stage
├─ background
├─ UI
├─ parent: > scaled <     (contains all game objects)
├─ child              (grouping of some objects)
├─ container1
├─ container2
├─ ...
├─ other layers
├─ ...
Как получить правильную ограничивающую рамку контейнера 1 относительно системы координат родительского? Я попытался инвертировать родительский worldTransform и добавить контейнеры (bunny) worldtransform следующим образом:

Код: Выделить всё

  let inverseTransform = parent.worldTransform.invert()
let bunnyTransform = bunny[2].worldTransform
inverseTransform.prepend(bunnyTransform);
Но как-то это выглядит не очень. См. здесь https://codepen.io/stot/pen/vEKxwOK
Может быть, есть лучший подход, потому что он кажется немного сложным.

Подробнее здесь: https://stackoverflow.com/questions/798 ... ate-system
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»