как узнать момент после окончания вращенияX - PullRequest
0 голосов
/ 01 февраля 2011

Я играю со свойствами вращенияX / Y / Z, доступными во flashplayer начиная с версии 10. Для тестирования я создал куб и поместил объекты холста с трех сторон от него (сверху, спереди, снизу) и создал анимацию движения для получить значения, необходимые для отверждения, на 90 град. вращение куба (холста) с использованием вращением X = xx хорошо работает, когда три объекта бокового холста малы и заполнены иерархией элементов, не представляющих сложности. при использовании более крупного и более сложного контента он замедляется. следующая идея заключалась в том, чтобы удалить содержимое элементов холста и заменить его моментальным снимком содержимого перед началом поворота, после выполнения поворота исходное содержимое снова откладывается по бокам. это приводит к хорошему увеличению производительности. при использовании анимации последний шаг поворота выполняется в функции, которая вызывается как обработчик tweenEnd. в этой функции также выполняется процесс копирования содержимого холста обратно. к сожалению, это приводит к короткому зависанию куба прямо на последнем шаге вращения, причина которого заключается в том, что вращение и копирование назад происходят одновременно. поэтому я мог подождать некоторое время после вызова cube.rotationX = endValue с помощью таймера или setTimeout(func, 500), но это ужасно. поэтому мой вопрос: после вызова cube.rotationX = endValue требуется период времени, чтобы вычислить данные для вращения и выполнить само вращение. Есть ли способ узнать момент времени, когда вращение закончилось , чтобы затем можно было начать копирование?

спасибо заранее Tyler

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

это точно точка, нет события, указывающего конец вращения. решение, использующее callLater() вместо setTimeout(), представляется улучшением, поскольку ожидание определенного промежутка времени всегда подразумевает некоторую «надежду, что оно работает на компьютере x». большое спасибо за подсказку!

привет

Тайлер

0 голосов
/ 03 февраля 2011

Нет никакого события по умолчанию, отправка после завершения вращения. Но я думаю об использовании callLater () для копирования содержимого. Попробуй.

...