Как очистить «сцену» в kiss3d ржавчины?

Почему бы не использовать эту простую, но мощную команду?

git filter-branch --tree-filter 'rm -f DVD-rip' HEAD

Параметр --tree-filter запускает указанную команду после каждой проверки проекта и затем подтверждает результаты. В этом случае вы удаляете файл с именем DVD-rip из каждого моментального снимка, независимо от того, существует он или нет.

См. эту ссылку .

1
задан Martin Ellison 22 March 2019 в 07:32
поделиться

1 ответ

Вы можете получить scene из window с помощью функции Window::scene_mut , которая будет возвращать SceneNode .

После получения изменяемого узла сцены вы можете удалить все объекты внутри сцены с помощью функции SceneNode::apply_to_scene_nodes .

Как описано на странице документов kiss3d:

fn apply_to_scene_nodes_mut<F: FnMut(&mut SceneNode)>(&mut self, f: &mut F)

Применяет замыкание к каждому объекту, содержащемуся в этом узле и его дочерних элементах.

Это метод, который принимает замыкание в нем и применяет его ко всем узлам внутри сцены. Так что вам не нужно добавлять все объекты в Vec.

Обратите внимание, что этот метод работает рекурсивно для применения предоставленной вами функции ко всем дочерним элементам родителя и самого себя.

В вашем случае необходимо только отсоединить родительскую сцену, как показано ниже:

window.scene_mut().unlink();

Всякий раз, когда вы отсоединяете узел родительской сцены, тогда дети, конечно же, не будут связаны с родителем. Так что в ваших потребностях вам может не понадобиться SceneNode::apply_to_scene_nodes даже.

[Тысяча сто двадцать два] площадка [тысяча сто двадцать два]
0
ответ дан Akiner Alkan 22 March 2019 в 07:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: