TweenLite не работает с объектом - PullRequest
0 голосов
/ 23 июля 2011

У меня возникла следующая проблема:

У меня есть объект с именем tempScore для моей игры.

Этот объект скрывается на холсте средством визуализации с помощью метода copyPixels.Объект НЕ является экранным объектом.Это Score-объект (самодельный).Объект Score расширяет объект с именем BasicBlitArrayObject.BasicBlitArrayObject расширяет EventDispatcher (поэтому нет экранного объекта).

Я пытался применить несколько различных плагинов TweenLite к моему объекту tempScore (т. Е. TransformAroundCenter, colorMatrixFilter и т. Д.).Но ничего не происходит.Абсолютно ничего.

Иногда я получаю сообщения об ошибках (когда плагину требуется экранный объект, а мой объект НЕ является экранным объектом).Пока все хорошо.

Согласно Гринсоку (создателю Tweenlite), его движок может анимировать ЛЮБОЕ числовое свойство ЛЮБОГО объекта.Поэтому, когда для плагина типа TransformAroundCenter требуется экранный объект для анимации движения, я должен изменить плагин, чтобы он работал для моего неэкранного объекта (tempScore).В настоящее время я не могу этого сделать, потому что это слишком сложно для меня.

Моя игра опирается на этот код: http://www.8bitrocket.com/book/ch11_blastermines.zip

Попробуйте применить TweenLite с объектом с именем tempMine внутри класса игрыBlasterMines.Это не сработает.Любая помощь, пожалуйста?

1 Ответ

1 голос
/ 23 июля 2011

Заявление Гринсок верно, в его точности. Вы можете анимировать любое числовое свойство любого объекта. Это утверждение не включает применение функций плагинов.

Причина, по которой плагины TransformAroundCenter и ColorMatrixFilter не работают для вас, заключается в том, что оникаждый использует какое-то свойство или метод DisplayObject.В случае transformAroundCenter это DisplayObject.localToGlobal(), а для ColorMatrixFiler это DisplayObject.filters.

Я должен спросить, почему вы применяете эти плагины к чему-то, что не является экранным объектом?В блиттинге (в применении к AS3) основная идея заключается в том, что вы читаете область из листа спрайта в объект BitmapData, который, в свою очередь, записывает объект Bitmap на сцене.И BitmapData, и Bitmap расширяют DisplayObject, что вам нужно.Для более высокой совместимости вы должны нацелить объект Bitmap, который фактически находится на сцене, TransformAroundCenter не будет работать правильно с объектом, который не находится на сцене.

Для лучшего ответа вам придется опубликовать некоторый код, ивозможно, снимок экрана отладчика типа Monster Debugger 3 , на котором показано ваше расширенное дерево отображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...