多种动画效果

效果图:

核心代码:

```

public  class  Rotate3dAnimation  extends  Animation { 
     private  final  float  mFromDegrees; 
     private  final  float  mToDegrees; 
     private  final  float  mCenterX; 
     private  final  float  mCenterY; 
     private  final  float  mDepthZ; 
     private  final  boolean  mReverse; 
     private  Camera mCamera; 
   
     public  Rotate3dAnimation( float  fromDegrees,  float  toDegrees, 
             float  centerX,  float  centerY,  float  depthZ,  boolean  reverse) { 
         mFromDegrees = fromDegrees; 
         mToDegrees = toDegrees; 
         mCenterX = centerX; 
         mCenterY = centerY; 
         mDepthZ = depthZ; 
         mReverse = reverse; 
    
   
     @Override 
     public  void  initialize( int  width,  int  height,  int  parentWidth,  int  parentHeight) { 
         super .initialize(width, height, parentWidth, parentHeight); 
         mCamera =  new  Camera(); 
    
   
     @Override 
     protected  void  applyTransformation( float  interpolatedTime, Transformation t) { 
         final  float  fromDegrees = mFromDegrees; 
         float  degrees = fromDegrees + ((mToDegrees - fromDegrees) * interpolatedTime); 
   
         final  float  centerX = mCenterX; 
         final  float  centerY = mCenterY; 
         final  Camera camera = mCamera; 
   
         final  Matrix matrix = t.getMatrix(); 
   
         camera.save(); 
         if  (mReverse) { 
             camera.translate( 0 .0f,  0 .0f, mDepthZ * interpolatedTime); 
         else 
             camera.translate( 0 .0f,  0 .0f, mDepthZ * ( 1 .0f - interpolatedTime)); 
        
         camera.rotateY(degrees); 
         camera.getMatrix(matrix); 
         camera.restore(); 
   
         matrix.preTranslate(-centerX, -centerY); 
         matrix.postTranslate(centerX, centerY); 
     }

```

转自:

http://bbs.9tech.cn/topic-365958-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值