Если у вас есть ObservableList объектов, и вы изменяете свойства внутри этих объектов, уведомление не применяется, поскольку коллекция не изменяется напрямую. Я заставляю уведомление после изменения свойств моего объекта, используя Insert (), чтобы повторно добавить мой измененный объект в коллекцию, затем RemoveAt (), чтобы удалить старую копию. Это не красиво, но работает.
6.2.3. Фильтрация
Фильтрация столкновений - это система для предотвращение столкновения фигур. Например, вы создаете персонажа который едет на велосипеде. Вы хотите велосипед, чтобы столкнуться с местностью и персонаж столкнется с местность, но вы не хотите персонаж столкнется с велосипедом (потому что они должны перекрываться). Box2D поддерживает такую фильтрацию столкновений с использованием категорий и групп.
Box2D поддерживает 16 столкновений категории. Для каждой формы вы можете укажите, к какой категории он принадлежит. Вы также указываете, какие еще категории эта форма может столкнуться с. Для Например, вы можете указать в многопользовательская игра, в которой все игроки не сталкиваются друг с другом и монстры не сталкиваются с каждым другое, но игроки и монстры должны столкнуться. Это делается с помощью маскировки биты. Например:
playerShapeDef.filter.categoryBits = 0x0002; monsterShapeDef.filter.categoryBits = 0x0004; playerShape.filter.maskBits = 0x0004; monsterShapeDef.filter.maskBits = 0x0002;
Группы столкновений позволяют указать интегральный групповой индекс. Вы можете иметь все фигуры с одинаковым индексом группы всегда сталкиваются (положительный индекс) или никогда не сталкиваться (отрицательный индекс). Группа индексы обычно используются для вещей которые как-то связаны, например части велосипеда. В следующих например, shape1 и shape2 всегда сталкиваются, но shape3 и shape4 никогда столкнуться.
shape1Def.filter.groupIndex = 2; shape2Def.filter.groupIndex = 2; shape3Def.filter.groupIndex = -8; shape4Def.filter.groupIndex = -8;
Столкновения форм разных групповые индексы фильтруются по биты категории и маски. В других слов, у групповой фильтрации выше приоритет, чем фильтрация категорий.