RotationAnim.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:WeatherX 作者:
@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);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号