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