#c #gtk #gnome #glib #clutter
#c #gtk #gnome #glib #беспорядок
Вопрос:
У меня есть текстура беспорядка в качестве фона. Мне нужно поместить над ней несколько актеров clutter. возможно ли это сделать. Поскольку я получаю следующую ошибку:
"invalid cast from `ClutterTexture' to `ClutterContainer' "
Кто-нибудь может мне помочь?
Ответ №1:
ClutterTexture не является контейнером, то есть он не может содержать других субъектов.
ClutterBox и ClutterGroup — это контейнеры, доступные в Clutter; ClutterBox позволяет использовать разные менеджеры компоновки, такие как ClutterBinLayout:
http://developer.gnome.org/clutter/stable/ClutterBinLayout.html
или ClutterFixedLayout:
http://developer.gnome.org/clutter/stable/ClutterFixedLayout.html
вы также можете использовать группу беспорядка и использовать ограничения для поддержания макета:
http://developer.gnome.org/clutter/stable/ClutterConstraint.html
Ответ №2:
Прошло некоторое время с тех пор, как я использовал clutter, но я попытаюсь поделиться некоторыми соображениями. Поскольку ошибка гласит, что вы не можете выполнить приведение ClutterTexture
к ClutterContainer
. Вы можете добавлять субъектов только к субъектам контейнера. Если вы хотите настроить фон, одним из вариантов может быть наложение актеров. Вы можете расположить других субъектов поверх актера с фоновой текстурой, используя менеджеры компоновки. Эта ссылка предоставляет некоторые подробности, которые, я думаю, могут быть полезны в вашем случае.
Надеюсь, это поможет!
Комментарии:
1. но менеджеры компоновки не позволяют фиксировать дочерний элемент в определенной позиции.
2. Не могут ли ClutterFixedLayout или ClutterConstraint помочь вам с этим?