自版本 10 以来,我一直在玩 flashplayer 中可用的 rotationX/Y/Z 属性。出于测试目的,我创建了一个立方体并将画布对象放在它的三个侧面(顶部、前部、底部)并创建了一个补间来获取值图灵需要 90 度。当三个侧面画布对象很小并且填充了不复杂的元素层次结构时,使用rotationX = xx 转动立方体(画布)效果很好。当使用更大和更复杂的内容时,它会变慢。下一个想法是在开始转弯之前删除画布元素内容并用内容的快照图像替换它,在执行转弯之后,原始内容再次放回两侧。这会带来良好的性能提升。使用 tween 旋转的最后一步是在称为 tweenEnd 处理程序的函数中完成的。在此功能中,还执行将画布内容复制回来的过程。不幸的是,这会导致立方体在最后一个旋转步骤中出现短暂的挂起,其原因是旋转和复制回同时发生。所以我可以在打电话后等待一段时间cube.rotationX = endValue
通过使用计时器 or setTimeout(func, 500)
,但这很难看。所以我的问题是:调用后cube.rotationX = endValue
需要一段时间来计算旋转数据并自行进行旋转。有没有办法找出旋转结束的时间点,以便开始复制?
提前谢谢你,泰勒