Как заменить ролик во флэш-анимации с помощью кода ActionScript - PullRequest
0 голосов
/ 18 сентября 2010

Например, я создал в Flash CS фрагмент ролика CampfireMC, который содержит дочерний фрагмент ролика:

m_fire:FireMC

FireMC - это анимация пламени. CampfireMC управляет воспроизведением m_fire, например, последнего кадра.CampfireMC использует код действия:

m_fire.gotoAndStop(m_fire.totalFrames)

И вопрос в том, как заменить (не удалять / добавлять, так как m_fire.gotoAndStop (m_fire.totalFrames) не будет работать в этом случае)FireMC для другой анимации FireMC2?

Я попробовал следующий трюк, но он не работает

var campfire:CampfireMC = new CampfireMC();
campfire.m_fire = new FireMC2();
campfire.gotoAndPlay(0)

1 Ответ

0 голосов
/ 19 сентября 2010

не уверен, существует ли на самом деле понятие «замена» в Actionscript. изменение ссылки m_fire фактически удалит предыдущую ссылку и добавит новую. это то, что вы делаете, когда вы назначаете новый объект FireMC2 переменной m_fire, удаляете предыдущий экземпляр FireMC и добавляете новый объект FireMC2.

описание вашей проблемы, по-видимому, предполагает, что FireMC2 разделяет некоторые функции с FireMC, также мне интересно, если вам не следует решать проблему по-другому. вместо того, чтобы пытаться заменить один другим, нельзя ли инкапсулировать дополнительную функциональность в новый MovieClip или даже новый метод FireMC и добавить новый MovieClip или вызвать метод вместо попытки заменить FireMC

...