@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
final float fromDegrees = this.fromDegrees;
float degrees = fromDegrees + ((toDegrees - fromDegrees) * interpolatedTime);
final float centerX = xCenter;
final float centerY = yCenter;
final Camera camera = this.camera;
final Matrix matrix = t.getMatrix(); //保存一次camera初始状态,用于restore()
camera.save();
if (reverse) {
camera.translate(0.0f, 0.0f, zDepth * interpolatedTime);
} else {
camera.translate(0.0f, 0.0f, zDepth * (1.0f - interpolatedTime));
}
//围绕Y轴旋转degrees度
camera.rotateY(degrees);
//行camera中取出矩阵,赋值给matrix
camera.getMatrix(matrix);
//camera恢复到初始状态,继续用于下次的计算
camera.restore();
matrix.preTranslate(-centerX, -centerY);
matrix.postTranslate(centerX, centerY);
}
RotationAnim.java 文件源码
java
阅读 31
收藏 0
点赞 0
评论 0
项目:WeatherX
作者:
评论列表
文章目录