vector<obj*> vec
;2) Однозначно true/false. Возможность прямого каста чисел в логику является тяжлым наследием C и ведет к интересным потенциальным багам.
update_animation()
у всех объектов, поддерживающих анимацию. При этом сами объекты вы создаете в коде в произвольных местах. В таком случае, вам нужно помимо создания объекта поместить указатель на объект в vector container, для того, чтобы потом можно было каждый кадр выполнять код типо такого:for (auto obj: container)
obj->update_animation();
Тут очень подробно.
Вам лишь нужно объявить спецификатор доступа signal в классе. Создать переменную. И в классе, который владеет классом с сигналом написать функцию с точно такой же сигнатурой, как и у сигнала и с помощью макроса connect привязать одну функцию к другой. В вашем случае нужен один такой сигнал. Саму функцию сигнал, естественно, нужно в какой-то момент вызвать (в классе, котором она определена)