Анимaции создaния и уничтoжeния oбъeктoв
Добавлено: 10 ноя 2014, 19:13
Добрый день! Есть набор различных объектов Моделей животных. У каждого вида животных свой набор поведений, но все они наследуют от класса Модель-Животное. Соответственно, каждому животному нужно свое Представление. Не придумал ничего лучше, как сделать Общий класс Вид-Животное и от него отнаследовать различные Виды, свои для каждой модели.
Каждое животное при появлении своей модели диспатчит событие создания. Главная вьюшка ловит его и создает соответствующий вид Предсталения. Проблема в чем - нужно задать каждому представлению анимацию (или звук) создания и уничтожения, но я не представляю как это правильно сделать. Грубо говоря, в каждом Представлении наследнике Вида-Животного я задаю функцию create() и destroy() и внутрь помещаю соответствующую анимацию (звук) создaния/уничтoжeния.
Тогда порядок такой: в главной модели создается модель Животного и заносится в список живых животных -> модель диспатчит событие своего создания -> главная вьюшка ловит событие, создает соответствующее представление, передавая в него модель, и добавляет вьюшку в список существующих представлений -> через какое-то время животное умирает и диспатчит событие своей смерти -> главная модель удаляет из списка живых животное -> соответствующее представление вызывает функцию проигрывания анимации уничтожения. Верно? Смущает, что Модель уже удалена, а представление еще нет. Не докурю как правильно сделать уничтожение.
Каждое животное при появлении своей модели диспатчит событие создания. Главная вьюшка ловит его и создает соответствующий вид Предсталения. Проблема в чем - нужно задать каждому представлению анимацию (или звук) создания и уничтожения, но я не представляю как это правильно сделать. Грубо говоря, в каждом Представлении наследнике Вида-Животного я задаю функцию create() и destroy() и внутрь помещаю соответствующую анимацию (звук) создaния/уничтoжeния.
Тогда порядок такой: в главной модели создается модель Животного и заносится в список живых животных -> модель диспатчит событие своего создания -> главная вьюшка ловит событие, создает соответствующее представление, передавая в него модель, и добавляет вьюшку в список существующих представлений -> через какое-то время животное умирает и диспатчит событие своей смерти -> главная модель удаляет из списка живых животное -> соответствующее представление вызывает функцию проигрывания анимации уничтожения. Верно? Смущает, что Модель уже удалена, а представление еще нет. Не докурю как правильно сделать уничтожение.