Переместить точку воспроизведения мувиклипа и всех его потомков - PullRequest
0 голосов
/ 22 декабря 2011

Я конвертирую сложные анимации из вектора в растровое изображение. Их легко конвертировать в растровое изображение, когда анимация находится на основной временной шкале. Однако, когда внутри анимации есть анимация, все становится очень грязно, потому что мне нужно рекурсивно перемещать все эти элементы воспроизведения ...

Есть ли другой способ добиться этого? Например, если я выполняю метод MovieClip play, все анимации работают хорошо, но это слишком медленно (я могу преобразовать только один кадр на каждый кадр в приложении).

1 Ответ

0 голосов
/ 23 декабря 2011

Я не думаю, что вы должны растеризовывать фрагмент ролика каждый кадр, чтобы сохранить производительность. Это просто не может ничего ускорить. Подумайте об этом: Flash-рендеринг уже превращает ваш мувиклип в растровое изображение, поэтому он может поместить его на экран, так зачем делать это дважды?

Я думаю, что вам действительно нужен способ кэширования растеризаций, которые уже выполняет средство визуализации. Если это так, то это очень просто.

var mc:MovieClip = new MovieClip();
mc.chacheAsBitmap = true;

Свойство определено в DisplayObject . Вы также можете сделать это в Flash IDE; это флажок под Свойства> Показать .

Наконец, примечание о том, когда использовать это: если ваш мувиклип меняет каждый кадр, кэширование его как растрового изображения не улучшит производительность, потому что рендереру все равно придется растрировать его каждый кадр (с момента его изменения). Но , если ваш видеоклип будет одинаковым для многих кадров подряд, продолжайте и кешируйте его, чтобы избежать процесса растеризации.

...