Я пытаюсь построить «модульные» корабли в своей 2d игре, то есть у корабля есть корпус, двигатель, пушки и т. Д. c. каждая отдельная сцена. Корабль можно настроить так:
Ship
|- Hull
|- Sprite
|- CollisionShape
|- Engine
|- Sprite
|- CollisionShape
|- ParticleSystem
Теперь я застрял со следующей проблемой. Я установил узел "Корабль" как KinematicBody2D, поскольку использую этот узел для движения. НО столкновение должно происходить из подсцены (Корпус, Двигатель и т. Д. c.). Так что я тоже сделал их KinematicBodies и добавил CollisionShapes.
Однако это не работает, поскольку Кораблю нужен дочерний элемент CollisionShape (KinematicBody2D), и он находится во вложенных сценах (Hull, Engine и т. Д. c. ) не хватает. Вдобавок, если я перемещаю узел Ship с помощью move_and_collide / _slide, дочерние узлы не сталкиваются.
Я не думаю, что мой текущий подход верен. Что я могу сделать, чтобы достичь sh этого, не нарушая мою модульность, переместив дочерние объекты CollisionShapes на корабль?